England name final squad
Sunderland striker Darren Bent, second highest English goalscorer in the Premier League last season, was also left out but Manchester City midfielder Gareth Barry and Tottenham Hotspur defender Ledley King were named after injury problems.
GEAR: Extensive England range
Chelsea's Joe Cole, who returned to the England side against Japan on Sunday after an 18-month absence, was also included.
Walcott, 21, who has won 11 caps, would have been the youngest member of the party as he was when he was included, but did not play, as a 17-year-old in 2006.
He said this week he did not deserve his place in the squad four years ago but felt he had done enough to merit inclusion this time.
But although he started both England's warm-up matches against Mexico and Japan in the past week, he had an injury-disrupted season with his club and failed to reproduce his best form.
He has scored three goals for England, all in the 4-1 win over Croatia in a qualifier two years ago.
Walcott said in a statement to Sky Sports News: "I am very disappointed not to be included in the squad going out to South Africa, but completely respect Mr Capello's decision.
"I would like to wish the team the best of luck and hope they have a really successful tournament."
Capello opted for Manchester City's Shaun Wright-Phillips and Tottenham's Aaron Lennon for the wide midfield roles.
Barry passed a fitness test after recovering from a sprained ankle and was included in the squad as the principal holding midfielder but six other players were cut from Capello's original 30-man list.
Uncapped Tottenham defender Michael Dawson and Leighton Baines of Everton, midfielders Tom Huddlestone of Tottenham, Adam Johnson of Manchester City and Scott Parker of West Ham United were all left out.
Bent lost out to Emile Heskey as a possible partner for Wayne Rooney in attack, even though Bent scored 24 league goals for Sunderland last season and Heskey just three for Aston Villa.
England depart for the June 11-July 11 tournament on Wednesday and after one more low-key training game against a local side next week, will play their first Group C match against the United States in Rustenburg on June 12.
Goalkeepers: David James (Portsmouth), Robert Green (West Ham United), Joe Hart (Manchester City).
Defenders: Ashley Cole (Chelsea), John Terry (Chelsea), Rio Ferdinand (Manchester United), Glen Johnson (Liverpool), Ledley King (Tottenham Hotspur), Jamie Carragher (Liverpool), Matthew Upson (West Ham United), Stephen Warnock (Aston Villa).