In 1990 (the year Roald Dahl died), the book was adapted into a film starring Anjelica Huston and Rowan Atkinson, directed by Nicolas Roeg and distributed by Warner Bros. In the film the boy is named Luke Eveshim, his grandmother Helga Eveshim, and The Grand High Witch Evangeline Ernst. The most notable difference from the book is that the boy is restored to human form at the end of the story by the Grand High Witch's assistant (a character who does not appear in the book), who had renounced her former evil. Dahl regarded the film as "utterly appalling" because it contrasted with the book.
In 2008, the BBC broadcast a two-part dramatisation of the novel by Lucy Catherine and directed by Claire Grove. The cast included Margaret Tyzack as the Grandmother, Toby Jones as the Narrator, Ryan Watson as the Boy, Jordan Clarke as Bruno and Amanda Laurence as the Grand High Witch.
The book was adapted into an opera by Norwegian composer Marcus Paus and his father Ole Paus, who wrote the libretto. It premiered in 2008.