On February 1, 2013, Byrd signed a minor-league deal with the Mets. Byrd hit a walk-off 2 RBI single on April 7 for the Mets on their way to a 4-3 victory over the Miami Marlins. Before a game on June 5, 2013, Byrd joked with Mets teammate Anthony Recker that he was going to hit two home runs in the game. Byrd did hit two home runs in the Mets 10-1 win over the Washington Nationals. Byrd hit .285 with 21 home runs and 71 RBI in 117 games for the Mets before being traded to the Pittsburgh Pirates. On August 27, Byrd and John Buck were traded to the Pittsburgh Pirates in exchange for infield prospect Dilson Herrera and a player to be named later, identified on August 29 as Vic Black. In his first game with the Pirates, Byrd hit a 3-run home run in Pittsburgh's 7-1 victory over Milwaukee. In the 2013 National League Wild Card Game, Byrd went 2-4 with a home run and 2 RBI, as the Pirates defeated the Cincinnati Reds 6-2.