Gained recognition for his role as Nathan Young in Misfits and was featured in the play The Playboy of the Western World. He also played Luke in Cherrybomb and starred in Killing Bono and Mortal Engines. In 2019, he landed the role of Klaus Hargreeves in Netflix's The Umbrella Academy.
As a child, he learned to play the spoons and the banjo. He had no formal training as an actor and started out by earning small roles in school productions.
He was in an episode of the historical drama series The Tudors.
He is the youngest of three children. His mother is Maria Sheehan and his father is Joe Sheehan, a garda. He has dated dancer Sofia Boutella.
He was in the UK drama Cherrybomb with Rupert Grint.