Snowden, 39, fled the United States and was given asylum in Russia after leaking secret files in 2013 that revealed vast domestic and international surveillance operations carried out by the US National Security Agency (NSA) where he was a contractor.
President Putin signed a decree on Monday granting him Russian citizenship, Reuters news agency reports.
American authorities have wanted Snowden returned to the United States for years to face a criminal trial on espionage charges.
There was no immediate reaction from Snowden, whose name appeared without any Kremlin comment on a list of 72 foreign-born individuals on whom Putin was conferring citizenship.
In 2020, Russia granted Snowden permanent residency rights, paving the way for him to obtain Russian citizenship.
The same year, a US appeals court found the program Snowden had exposed was unlawful and that the US intelligence leaders who publicly defended it were not telling the truth.
Putin, a former Russian spy chief, said in 2017 that Snowden, who keeps a low profile while living in Russia, was wrong to leak US secrets but was not a traitor.