James Bond star Daniel Craig has beaten out David Beckham to be crowned the Most Stylish Man of 2012.

Bosses at GQ magazine annually compile The 25 Most Stylish Men list - and Craig has been named the guy with the best fashion sense in 2012.

Zac Efron comes in second with soccer ace and model Beckham in third and R&B singer Bruno Mars in fourth spot.

Ewan MCGregor rounds out the top five, while Twilight hunk Robert Pattinson makes the list at six.

Jay Z, Jennifer Aniston's fiance Justin Theroux, Ryan Gosling, Maroon 5 frontman Adam Levine and Joseph Gordon-Levitt also make the 2012 style list.