Brendan Fraser został wybrany przez Cornelię Funke, autorkę książki, na podstawie której powstał film, do roli Mo Folcharta. Producenci chcieli, aby tę rolę zagrała większa gwiazda Hollywood, ale aktor uzyskał poparcie Funke.
Film kręcono w Farnham i Shepperton (hrabstwo Surrey), w Londynie w Anglii (Wielka Brytania) oraz w Genui (region Liguria) we Włoszech.