La jeune femme débute sa carrière à à peine 10 ans, puisqu'elle est apparue dans Les Pierrafeu à Rock Vegas.Elle obtient son premier vrai rôle dans Panic Room aux côtés de Jodie Foster.
Si elle doit sa notoriété à la saga Twilight, en 2008, on l'a aussi vue dans Into the Wild ou encore Blanche-Neige et le chasseur.
En 2019, on va revoir dans Seberg mais également dans le reboot de Charlie's Angels et Underwater, film où elle partage l'affiche avec Vincent Cassel.