Catapultada a la fama a una edad temprana por sus papeles protagónicos en Kick-Ass, Hugo y Let Me In. Interpretó a Carrie en la nueva versión de la película en el 2013, a Angie Steadman en la película del 2010 Diary of a Wimpy Kid, y a Mia Hall en la cinta del 2014 If I Stay. Consiguió el rol de Cassie Sullivan en la película de acción del 2016 The 5th Wave.
Tuvo su primer rol importante en la pantalla grande en la nueva versión del 2005 de la película The Amityville Horror.
Fue la voz de Darby en la serie para televisión My Friends Tigger & Pooh.
Fue criada en una familia cristiana junto a cuatro hermanos mayores. Sus padres, Teri y McCoy Moretz, se divorciaron cuando ella era pequeña. Estuvo en una relación intermitente con Brooklyn Beckham por varios años.
Hizo el papel de Rachel Hansen, la hermana menor del personaje interpretado por Joseph Gordon-Levitt, en 500 Days of Summer.