Shaffer was born in North London to South African parents; her mother is mixed race and her father is Jewish. She has a brother. She attended Highgate Wood School and completed her A Levels at the Camden School for Girls.[3]
In December 2010, the Liverpool Echo reported that eighteen-year-old Shaffer would be joining the cast of Hollyoaks as Ruby, the sister of Duncan Button (Dean Aspen).[4] Shaffer originally auditioned for the role of Leanne Holiday, but she was later cast as Ruby. Shaffer relocated to Liverpool, where Hollyoaks is filmed, for the role. She began filming her scenes in late 2010.[5] Shaffer made her first on-screen appearance as Ruby in the episode broadcast on 3 January 2011.[6] In May 2011, it was speculated that Shaffer would be leaving Hollyoaks.[5] However, this was denied and a show spokesperson told Digital Spy "We don't want to spoil the storylines for the viewers, however we can confirm that Anna Shaffer is with Hollyoaks for the foreseeable future.".[5] Shaffer left Hollyoaks in 2014 but returned briefly in November 2017 and April 2018.
During 2012, she appeared in the music video for YDEK by Warehouse Republic, then in October 2013, Shaffer said she would be leaving Hollyoaks in the new year in an interview with Digital Spy on 23 November, saying "I've loved my time at Hollyoaks and playing Ruby, but I've just got itchy feet and I want a new, fresh beginning. Obviously we film up in Liverpool and I miss London, my parents, my brother, so I'm ready for a change but I'll be really sad to leave".[7] Shaffer made her on screen exit from Hollyoaks as Ruby on 13 February 2014. In 2014 she appeared in one episode of Glue as "Heather", and, in 2016, played Rachel in two episodes of Class.
In late 2018, it was announced that Shaffer would play the role of Triss Merigold in the upcoming Netflix series, The Witcher.[8]