Actor canadiense conocido por interpretar el papel de Baelfire en el programa de televisión Once Upon a Time en el 2012. También protagonizó junto a Daniel Radcliffe la película del 2013, Horns. Interpretó el personaje de Dylan en la película para televisión del 2013, Bunks.
Comenzó a actuar cuando tenía seis años. Trabajó en dos cortometrajes de estudiantiles.
Interpretó al príncipe de York en ocho actuaciones con la Victoria Shakespeare Society.
Cuando era niño, solía hacer pequeñas obras con su hermano mayor T.J. Sus padres lo ayudaron a entrar en el mundo de la actuación. En el 2015, comenzó a salir con su novia Kayla.
Protagonizó junto con Jennifer Morrison la serie Once Upon a Time.