Short answer
The Joker has been played by several actors, so there is no single answer. It depends on the movie. Joaquin Phoenix plays the Joker in Joker (2019) and Joker: Folie a Deux (2024). Heath Ledger plays him in The Dark Knight (2008). Jack Nicholson plays him in Batman (1989). Jared Leto plays him in Suicide Squad (2016) and Zack Snyder's Justice League (2021).
Who plays the Joker in each movie
- Batman (1966): Cesar Romero
- Batman (1989): Jack Nicholson
- The Dark Knight (2008): Heath Ledger
- Suicide Squad (2016): Jared Leto
- Joker (2019): Joaquin Phoenix
- Zack Snyder's Justice League (2021): Jared Leto
- Joker: Folie a Deux (2024): Joaquin Phoenix
Voice and animated roles
Mark Hamill voiced the Joker in Batman: Mask of the Phantasm (1993), Batman: The Killing Joke (2016) and several direct-to-video Batman titles. Troy Baker and John DiMaggio have voiced the character in other animated features and video games. Voice work is easy to miss because the actor never appears on screen.
How to confirm the actor for any Joker movie
- Identify the exact film title and release year. Reboots reuse titles, so the year is what separates them.
- Open the studio page for the film or a trusted cast database.
- Scan the top billed cast list for the character name. It sits next to the performer's name.
- Check the end credits while you watch. Cameos and voice roles are listed there.
- Cross-check a second source when the part is a cameo or an uncredited appearance.
Why answers get mixed up
Separate film series use separate actors. The Tim Burton and Christopher Nolan films are different continuities, and the standalone Joker films sit outside the shared universe that produced Suicide Squad. Barry Keoghan plays a version of the Joker in The Batman (2022), but most of his scenes were cut, so some cast lists leave him out. If you are asked the question at a trivia night, name the film first, then the actor.
How Did Joker Become the Joker? Every Origin Story Explained