Campbell represented England 73 times between 1996 and 2007 but, despite having captained the majority of his club sides throughout his career, the central defender was handed the armband just three times for the national team.
In a new authorised biography, which has been serialised by English newspaper the Sunday Times, Campbell claimed the Football Association were uncomfortable making him captain because he is black.
"I believe if I was white, I would have been England captain for more than 10 years - it's as simple as that," the 39-year-old said.
The Football Association has declined to comment.
Campbell claimed he met all the criteria to be a consistent captain but English football officials felt uncomfortable with the idea.
Paul Ince became the first black England captain when he led his country in a friendly against the United States in 1993, while Rio Ferdinand has also led the team on a number of occasions, although injuries have often denied the Manchester United defender a long stint with the armband.
But Campbell believes there would be even more examples if an undercurrent of racism did not exist in English football.
"I was consistently in the heart of the defence and I was a club captain early in my career," Campbell said.
"I don't think it will change because they don't want it to and probably the majority of fans don't want it either.
"It's alright to have black captains and mixed race in the Under-18s and Under-21s but not for the full national side - there is a ceiling and although no one has ever said it, I believe it's made of glass."
Get the best features, fun and footballing frolics straight to your inbox every week.