Craig, 54, was cast as the super spy in 2005 and has starred in the last five films as 007, but now Tennant, 51, has revealed it could have been him.
The Doctor Who star told the Acting For Others podcast: “I never believed I had, until I worked with a director recently who had worked with the Broccolis, who said ‘Yeah, you were on the list that time’.
“I was like ‘What time? What are you talking about?’ He went ‘Yeah, the last time’.
“I suppose it must have been Daniel Craig; before that I would have been a child.
“I think it was quite a long list and I don’t think I was ever very near the top of it. But apparently so.”
The James Bond movies, based on the books by Ian Fleming, are produced by Barbara Broccoli and Michael G Wilson.
Craig first played 007 in 2006's Casino Royale and has now announced he is stepping down after his fifth turn as Bond on 2021's No Time To Die.
But Tennant admitted life could have been very different for him if he was cast in the role instead of Craig, saying: “I think it’s probably a bit of a game-changer, that level of celebrity.”
The Scottish actor's career went in another direction when he was cast as the 10th Time Lord in cult sci fi show Doctor Who.
He starred as The Doctor from 2005 to 2010, and met his wife Georgia Moffett, the daughter of another former Time Lord Peter Davison, when she appeared in the show in 2008.
Tennant said: “It was a different scale to anything I’d done before in terms of just the general public being aware of you.
“You can sort of be known in the industry and there’s a whole thing where you’re suddenly in people’s living rooms and they have a kind of ownership of you, in a way.
“And it’s a multifaceted experience, and lots of it is very nice, but there are parts of it where you just can’t really anticipate what that feels like, I think.”
Watch: David Tennant filming Doctor Who 60th anniversary scenes