James McAvoy was 26 in Becoming Jane when he played the character 'Tom Lefroy'.
That was over 17 years ago in 2007.
Today he is 45, and has starred in 55 movies in total, 39 of those since Becoming Jane was released.
In Becoming Jane, I think James McAvoy looks: