2023
Funny Woman as Tony Holmes (10 episodes)
2022
Flux Gourmet as Technical Assistant Wim
2022
Becoming Elizabeth as Henry Grey (8 episodes)
2021
Cruella as Headmaster
2021
Rewind Britain as Malcolm
2020
Hitmen as The DJ (1 episode)
2019
National Theatre Live: The Tragedy of King Richard the Second as Henry Bolingbroke
2018
The Long Song as John Howarth (3 episodes)
2018
In Fabric as Reg Speaks
2018
Peterloo as John Tyas
2017
Strike as John Bristow (3 episodes)
2017
Taboo as Wilton (8 episodes)
2016
Alice Through the Looking Glass as Hamish
2015
National Theatre Live: Hamlet as Horatio
2014
Mr. Turner as JE Mayall
2014
A Long Way Down as Dr. Stephens
2013
The White Queen as Reginald Bray (3 episodes)
2010
Doctor Who: A Christmas Carol as Pilot
2010
Alice in Wonderland as Hamish Ascot
2009
Home Time as Steve (3 episodes)
2008
Me and Orson Welles as Norman Lloyd
2008
Ashes to Ashes as Ryan Burns (1 episode)
2008
The Fall as Charles Darwin / Orderly
2008
Sense and Sensibility as Robert Ferrars (3 episodes)
2007
Becoming Jane as John Warren
2006
The Living and the Dead as James Brocklebank
2006
Loony in the Woods as Bouffe
2005
A Very Social Secretary as Flemming
2003
LD 50 Lethal Dose as Danny
2002
Two Men Went To War as Pvt. Leslie Cutherbertson
2002
28 Days Later as Private Jones
2002
The Making of 'Gosford Park' as Self (uncredited)
2002
All or Nothing as Young Man
2002
Spooks as Corporal Eric Woods (1 episode)
2002
Surrealissimo: The Trial of Salvador Dali as Teenage Son of Chanel
2002
Crime and Punishment as Drinker (2 episodes)
2002
Crime and Punishment as Drinker
2000
Attachments as Matt (1 episode)
1997
Midsomer Murders as Darren (1 episode)
1991
Broke as Michael Meeks