2022
Boys on Film 22: Love to Love You as Matthews
2022
National Theatre Live: Straight Line Crazy as Ariel Porter
2022
Four Lives as Ryan Edwards (3 episodes)
2021
The Amazing Mr. Blunden as Mr. Smith
2018
National Theatre Live: Allelujah! as Colin
2016
Dirk Gently's Holistic Detective Agency as Dirk Gently (18 episodes)
2015
The Lady in the Van as Donald
2015
National Theatre Live: The Beaux Stratagem as Aimwell
2015
Not Safe for Work as Nathanial (6 episodes)
2015
Jupiter Ascending as Advocate Bob
2014
Penny Dreadful as Renfield (7 episodes)
2013
Love Tomorrow as Cal
2013
Endeavour as Anthony Donn (1 episode)
2012
Twelfth Night as Sebastian
2012
Dickens in London as Young Dickens(Voice)
2011
Twenty Twelve as Daniel Stroud (7 episodes)
2009
Bright Star as Mr. Severn
2009
Desperate Romantics as John Millais (6 episodes)
2008
Crooked House (1 episode)
2008
Crooked House as Billy (3 episodes)
2008
Beautiful People as Adult Simon Doonan (12 episodes)
2008
John Adams as Thomas Adams (7 episodes)
2007
Wilfred Owen: A Remembrance Tale as Wilfred Owen
2005
Mrs. Henderson Presents as Paul
2004
Agatha Christie's Marple as Sergeant Tiddler (1 episode)
2003
Strange (6 episodes)
2003
The Royal as Joe Steeples (1 episode)
2002
The Inspector Lynley Mysteries as Brian Byrne (1 episode)
2001
Two Pints of Lager and a Packet of Crisps (2 episodes)
2000
Coupling as Sex Shop Assistant (1 episode)
1988
American Experience as Philip's Schoolmate (1 episode)