He has worked on British television series such as Doctor Who, Clone, My Dad's the Prime Minister, Hotel Babylon and The Mallorca Files.
His voice work in animation and video games include Dane in Crysis: Warhead, Zeck in Boo, Zino & the Snurks, Vinnie in Thomas & Friends: The Great Race, Timo in Gladiators of Rome, Jin in Xenoblade Chronicles 2 and Xenoblade Chronicles 2: Torna - The Golden Country, Dandelion in The Witcher video games, Tony Stark / Iron Man in Lego Marvel Super Heroes 2 and the Guardian, Black Sinja and the Blue Sinja in Trials of the Blood Dragon.
In 2005, he played Owen Bywater, a commander of the base who guards the Metaltron Cage with his subordinate, De Maggio (Jana Carpenter), in the episode of Doctor Who, "Dalek".
His other television roles include Rescue Heroes, My Dad's the Prime Minister, Noel's House Party, Hotel Babylon, Trust, Ultimate Force, Undercover, America's War on Drugs, and Monarch of the Glen.
His film credits include Back to Gaya, The Fifth Estate, Zero Dark Thirty, The Anomaly, The Current War, The Program, Jurassic World: Fallen Kingdom and Annihilation.