Born in Montevideo, López began his career at hometown club Racing Club and spent time in Argentina with San Martín de Tucumán, before moving to Uruguayan Primera División side River Plate Montevideo in 2005. While registered to the club, he spent time on loan in Spain, with Xerez, and in Mexico, with Tecos. He signed for West Ham United on 5 September 2008. On joining West Ham he was described by caretaker managerKevin Keen as "a very attacking full-back who can get forward. Like David Di Michele, he is another West Ham-type player who will hopefully show everyone at the club what he can do". Michele had been signed by the club on loan around the same time. López made his debut for West Ham United in a League Cup third round tie, playing the full game in an away defeat at Watford on 23 September 2008. He made his Premier League debut as a late substitute in West Ham's 1–0 win over Manchester City on 1 March 2009. López failed to cement a place in the first team due to the presence of Congolese international Hérita Ilunga and, having made five substitute Premier League appearances, was subsequently released by West Ham at the end of the 2008–09 season. He returned to Uruguay and signed for Primera División side Cerro. He was then loaned to Brescia of Italy's Serie B. He managed one goal for the Italians, his first outside of South America, in 29 appearances. In the summer of 2010, López was loaned to Romanian Liga 1 side FC Universitatea Craiova. After a six-month loan, at the start of 2011, the club decided to buy the player and López signed a contract for three years. In July 2011, López moved back to Uruguay and joined Peñarol. While signed to the club, he spent time on loan at Paraguayan club Cerro Porteño in 2012. In March 2013, he was arrested and sentenced to 90 days of community service for "crime simulation", after setting fire to his truck and reporting it stolen in order to claim insurance money. López left Peñarol in September 2013, moving back to Italy to join Serie C club Lecce. After two seasons, he moved once again to Paraguay and joined Sol de América. A further spell in Italy followed, firstly with Campania club Benevento, before moving to Spezia in Liguria in August 2017. On 19 July 2018, he signed a two-year contract with another Serie C club Ternana. On 31 January 2019, he moved to Serie B club Salernitana. López also holds a Spanish passport.