She played Princess Isabelle in the 2013 action-adventure film, Jack the Giant Slayer. She also appeared in Alice in Wonderland and Angus, Thongs and Perfect Snogging.
One of her first films was The Illusionist, in which she played Young Sophie.
In 2014, she was cast as Demelza on the BBC One series Poldark.
Her mother, Judith Hibbert, was a singer and her father, Malcolm Tomlinson, was an actor. She has a brother named Ross. She began dating equestrian Ben Atkinson.
She starred opposite Nicholas Hoult, who played the title character in Jack the Giant Slayer.