El rodaje tuvo lugar en distintas zonas de los Estados Unidos (Las Vegas, Nueva Orleans y Nueva York) y en la capital francesa (París).
Algunos actores como Philip Seymour Hoffman ('Synecdoche, New York'), Jim Carrey ('Phillip Morris ¡Te quiero!'), Sacha Baron Cohen ('El dictador') o Colin Firth ('El discurso del rey') fueron considerados para interpretar los papeles principales antes de que el equipo decidiese contar con actores más jóvenes para protagonizar la producción.
Al actor Jake Gyllenhaal ('Brothers - Hermanos' y 'Código fuente') le ofrecieron interpretar uno de los papeles principales, pero éste se negó. Mark Ruffalo ('Marvel Los Vengadores' y 'What Doesn't Kill You') se hizo finalmente con el puesto.
Un día durante el rodaje, Michael Caine ('Origen' y 'Harry Brown') se encerró en su camerino tras realizar una de sus tomas y se quedó dormido en el interior de la habitación. Cuando el equipo terminó su trabajo pensó que Caine se había ido del set de rodaje, ya que no pudo oír las voces del director advirtiendo del final de la jornada. Caine se despertó en plena oscuridad y no pudo ser rescatado de su camerino hasta la mañana siguiente.
La actriz estadounidense Olivia Wilde ('El ladrón de las palabras' y la serie de televisión 'House') estuvo a punto de interpretar un papel en 'Now You See Me', pero debido a sus circunstancias la artista al final no pudo aparecer en la película.
Las actrices Andrea Riseborough ('Happy. Un cuento sobre la felicidad' y 'Oblivion') y Amanda Seyfried ('In time' y 'Cartas a Julieta') fueron consideradas para interpretar el papel de Henley, pero Isla Fisher ('Definitivamente, quizás' y 'El origen de los Guardianes') se hizo finalmente con el papel.