The film is primarily based on the werewolf stories in Angela Carter's short story collection The Bloody Chamber ('The Company of Wolves', 'Wolf-Alice' and 'The Werewolf'). However, the plot of the film is more similar to Carter's 1980 radio adaptation of 'The Company of Wolves' than to the original story, as it was in the adaptation that Carter introduced such concepts as digressive narration within the main narrative (in the original story, the various diversionary narratives are separate from and occur prior to the main narrative).
Director Neil Jordan had wanted Andy Warhol to play the role of the Devil. Producer Stephen Woolley traveled to New York to meet Warhol, who had recently been shot, and Warhol agreed to do the film. However, fearing for his life if he traveled, he would only play the role if his scenes were shot in New York. This was impossible, and so Jordan cast his friend Terence Stamp in the role. Stamp agreed to do the role if Jordan bought him a suit, which Jordan did, much to Stamp's amusement.
The exact age of Sarah Patterson's character, Rosaleen, is not mentioned in the film. However, in his director's commentary for the UK Special Edition DVD, director Neil Jordan says she is supposed to be 12-and-three-quarters. On the U.S. DVD (Hen's Tooth Video edition), the promo trailer contains a scene where Rosaleen tells Granny she is 12-and-three-quarters. (Granny: "Maybe you're too young / too young to understand." Rosaleen: "Tell me Gran / I'm 12-and-three-quarters.")
Angela Carter's first draft of the screenplay, which contains a number of differences from the finished film, was published in her anthology 'The Curious Room'. One of the most noticeable differences is the end. In Carter's script, the film ends with Rosaleen diving into the floor of her bedroom and being swallowed up. 'Neil Jordan' liked this ending, but as he explains on the DVD commentary for the film, the limited visual effect technology of the time made such a scene impossible to shoot on a small budget. Other differences include another story told by the Huntsman to Rosaleen, a different final tale told by Rosaleen to the wolf and a scene in a church with an animal congregation.
According to Neil Jordan, it was he who suggested adding the modern frame story to the narrative, giving the film what Jordan calls "a Chinese Box structure" (stories within stories). He came up with this idea after seeing The Saragossa Manuscript, which has a similar structure. Jordan also talks about this film on his DVD commentary, where he also sites Roger Corman's films as a major influence, especially Pit and the Pendulum, The Tomb of Ligeia and The Masque of the Red Death.
When casting the film, casting director Susie Figgis was initially looking for a girl of around 16 years of age to portray Rosaleen. Director Neil Jordan had asked for an older girl so he could make the sexual overtones of the film more pronounced (in the script for example, the Huntsman and Rosaleen actually kiss). However, upon seeing the 12 year old Sarah Patterson's audition, Jordan felt her potential couldn't be improved upon, and due to her age, he rewrote parts of the screenplay for her.
Micha Bergese was originally hired to work as a choreographer, specifically to help Stephen Rea and the as yet uncast part of the Huntsman with the physicality of their performances. However, director Neil Jordan was so impressed with Bergese's grasping of the themes of the project and with his look and movement, that he offered him the role of the Huntsman.
When the Devil (Terence Stamp) meets the young boy (Vincent McClaren) in the forest, he is holding a small skull. According to director Neil Jordan this is a genuine pygmy skull that was procured for the film.
The wide shot as the stork flies away from the tree climbed by Rosaleen (Sarah Patterson was shot by positioning a small doll on a banzai tree, surrounded by other banzai trees, and all set against a painted backdrop. The movement of the bird was done by stop motion animation.
Due to both budgetary constraints and fears about safety, most of the 'wolves' in the film are actually Belgian Shepherd Dogs whose fur has been dyed. For some of the close-up shots of Rosaleen ('Sarah Patterson') interacting with the wolf towards the end of the film, a real wolf was used. During the entirety of the production, only two real wolves were used.
During the shooting of the scene where the duck is used as bait to lure in the wolf, a real wolf was used. However, when shooting the scene, as the wolf approached the hole, the duck quaked and the wolf ran away, and refused to go near the whole again. The scene then had to be shot with another wolf the next day.
The voiceover at the end of the film is the moral from Charles Perrault's original Little Red Riding Hood story, 'Le Petit Chaperon Rouge', which warns young girls always to be wary of charming strangers.
Because of the fact that wolves can not truly be tamed, although they may appear tame, they can still turn nasty, snipers were required to be onset during the filming in case the wolves did attack anyone. Producer Stephen Woolley had said to the sniper "Shoot the wolf first, then shoot me because my life won't be worth living if the wolf goes for the young kid," referring to Sarah Patterson.