'At least 106 protesters in 21 cities have been killed, according to credible reports,' the London-based rights group said.
More than 100 demonstrators are believed to have been killed across Iran since leaders ordered security forces to stamp out protests triggered by fuel price rises, Amnesty International said Tuesday.
"At least 106 protesters in 21 cities have been killed, according to credible reports," the London-based rights group said.
It added that "the real death toll may be much higher, with some reports suggesting as many as 200 have been killed".
The rights watchdog said the security forces had received a "green light to crush" the protests which broke out on Friday and had spread to more than 100 cities across Iran.
"Authorities must end this brutal and deadly crackdown immediately," said Amnesty's Philip Luther, whose organisation based its report on "verified video footage, eyewitness testimony from people on the ground and information" from rights activists outside Iran.
Amnesty also urged Iranian authorities to "lift the near-total block on internet access designed to restrict the flow of information about the crackdown to the outside world".
It said video footage showed that "snipers have also shot into crowds of people from rooftops and, in one case, a helicopter".
While most demonstrations appeared to have been peaceful, it said, "a small number of protesters turned to stone-throwing and acts of arson and damage to banks and seminaries".
Security forces had been seen taking away dead bodies and injured people from roads and hospitals, according to witnesses, and refused to hand over bodies of victims to their families, Amnesty said.
A hike in petrol price sparked the protests in which Iran has officially confirmed at least five dead, including three security personnel allegedly stabbed to death by "rioters".