As the actual Notre-Dame de Paris cathedral was under reconstruction, none of the scenes could be shot there. So other cathedrals had to fill in the main role. First, the Bourges Cathedral was used for many scenes outside the cathedral. Then, the Notre-Dame d'Amiens Cathedral, whose spire and certain parts of the building are similar to those of Notre-Dame. Finally, the Saint-Étienne cathedral in Sens, where the forecourt, the tower stairs and the nave were used, as well as the scenes where the 13th century wooden framework is catching fire.
Director Jean-Jacques Annaud envisioned his movie with 5% of it being footage from the actual event, smartphone videos, TV footage, etc. Thus, a year before release, he publicly announced he needed footage for the traffic jams the fire caused, for the spontaneous praying scenes, and for some international TV reports. He even set up a website so that everyone could send their own videos.
The most complex scene to shoot was the collapsing of the spire inside the cathedral. They had to build the belfry at scale, and set it on fire inside a soundstage. For this scene, the crew was minimal, with everyone in protective gear, and it was shot in one take, with twelve cameras filming at the same time, all set in crash boxes to protect the equipment.
Most of the fire in the movie is real, either from real footage from the event or recreation in a soundstage. However, the movie contains around 400 VFX shots, mostly for removing safety cables and various pipes for water and gas, but also to add smoke and flames to shots for when it wasn't possible or too dangerous for the actors.