Quick answer
The Joker has been played by a different actor in almost every film he appears in. Heath Ledger played him in The Dark Knight (2008). Joaquin Phoenix played him in Joker (2019) and Joker: Folie a Deux (2024). Jack Nicholson played him in Batman (1989). Jared Leto played him in Suicide Squad (2016) and in the 2021 recut of Justice League. Cesar Romero played him in Batman: The Movie (1966). Barry Keoghan played a brief version of the character in The Batman (2022).
Why the answer is not one name
Batman films get rebooted on a regular cycle, and each reboot brings a new cast. That means the correct answer to "who plays the Joker" depends on the year of the film and the franchise it belongs to. A person asking about the 2008 movie wants Ledger. A person asking about the 2019 movie wants Phoenix. A person asking about the 1989 movie wants Nicholson.
Live-action Joker actors by film
Cesar Romero
Batman: The Movie (1966), plus the 1966 to 1968 television series. Romero refused to shave his mustache, so the makeup team painted white over it.
How Did Joker Become the Joker? Every Origin Story Explained
Jack Nicholson
Batman (1989), directed by Tim Burton. Nicholson played Jack Napier, the gangster who becomes the Joker after a fall into a chemical vat.
Heath Ledger
The Dark Knight (2008), directed by Christopher Nolan. Ledger won a posthumous Academy Award for Best Supporting Actor for the role.
Jared Leto
Suicide Squad (2016) and Zack Snyder's Justice League (2021). Leto had a small role in the first film and a cameo in the second.
Joaquin Phoenix
Joker (2019) and Joker: Folie a Deux (2024). This version, named Arthur Fleck, sits outside the Batman continuity. Phoenix won the Academy Award for Best Actor for the 2019 film.
Barry Keoghan
The Batman (2022). Keoghan appears in a short scene near the end of the film as an unnamed Arkham inmate who becomes the Joker.
How to identify which Joker you are watching
- Check the release year of the film you have open.
- Match that year to the list above.
- Confirm with one visual detail. Nicholson wears a wide purple fedora and a long coat. Ledger wears smeared clown makeup and a green vest. Phoenix wears a full face of white and red paint with a thin green suit. Leto has silver teeth and tattoos. Keoghan has a disfigured face with a large scarred grin.
- Check the studio logo at the start. Warner Bros. releases every live-action Batman film in this list.
- If the actor's name still does not match, you are likely watching a voice performance, not a live-action one.
Voice performances
Animation and video games use separate casts. Mark Hamill voiced the Joker in Batman: The Animated Series and the Batman: Arkham games. Troy Baker voiced him in Batman: Arkham Origins. Zach Galifianakis voiced him in The Lego Batman Movie (2017).
Common mix-ups
People often confuse the 2008 and 2019 films because both titles are short and both performances won awards. Remember the split: Ledger is the Nolan trilogy, Phoenix is the standalone Todd Phillips films. People also confuse Romero's 1966 movie with the 1960s show, but it is the same actor in both.