James McAvoy was 31 in Arthur Christmas when he played the character 'Arthur (voice)'.
That was over 12 years ago in 2011.
Today he is 45, and has starred in 55 movies in total, 30 of those since Arthur Christmas was released.
In Arthur Christmas, I think James McAvoy looks: