Roger Federer has reached 31 Grand Slam finals in his career (winning 20). However, this question appears to be from an earlier time period when 21 was the correct count. Federer's first Grand Slam final was in 2003 at Wimbledon, and he continued appearing in major finals through the 2010s.