Snow replaces Scott McClellan, who announced his resignation last week as part of a staff shake-up engineered by Josh Bolten, the new White House chief of staff, directed at reviving George Bush's presidency.
Bush made the announcement on Wednesday.
"My job is to make decisions and his job is to help explain those decisions to the press corps and the American people," Bush said, with Snow and McClellan at his side in the White House briefing room.
Snow's appointment is notable in a White House that has a reputation for not suffering criticism. He even has had some harsh things to say about Bush.
Sources familiar with the situation said Snow wrestled with the decision for several days on whether to take the job.
A speechwriter for the senior Bush when the latter was the president, Snow was treated for colon cancer last year.
Fox News said on its website that Snow was given a clean bill of health by his oncologist on Tuesday, after a CAT scan and other tests that were undertaken last Thursday.
He was said to have been waiting for the all-clear from his doctors before accepting the job.
Snow, 50, a conservative pundit, has been host of Fox News Radio's The Tony Snow Show and for a time was anchor of the Fox News Sunday programme.
The Washington Post said Snow decided to accept the job after top officials assured him that he would not be just a spokesman but an active participant in administration policy debates.
The Post quoted sources as saying that Snow viewed himself as well-positioned to ease the tensions between the Bush White House and the press corps because he understood politics and journalism.
"No president has looked this impotent this long when it comes to defending presidential powers and prerogatives"
White House spokesman
Snow, in an Associated Press interview on Tuesday, did not dispute that he has been a tough critic of Bush.
"It's public record," he said. "I've written some critical stuff. When you're a columnist, you're going to criticise and you're going to praise."
A liberal think tank, the Center for American Progress, circulated a sampling of Snow's opinions, restricting the observations to those critical of the president.
It quoted Snow in September as writing, "No president has looked this impotent this long when it comes to defending presidential powers and prerogatives."
Last month, Snow wrote that Bush and the Republican Congress had "lost control of the federal budget and cannot resist the temptation to stop raiding the public fisc. (treasury)."
Since taking over as Bush's chief of staff, Bolten has embarked on a shake-up in a drive to revive the presidency and rebound from job approval ratings that, according to a CNN poll this week, have dipped to an all-time low of 32%.
Last week, in addition to McClellan's resignation, the shake-up led to Karl Rove, senior Bush political adviser, giving up his day-to-day policy role to focus on helping Republicans retain control of both houses of the US Congress in November mid-term elections.
Snow, a native of Cincinnati, Ohio, will be a rare case in which a Washington journalist takes over as the White House spokesman.
The job will come with a pay cut, down to about $161,000 a year.