Police were sent to break up 3,000 miners - some armed with clubs and machetes - who had gathered on a hillside overlooking Marikana to call for a pay rise of about $1,000 (£636) a month.
A strike at the mine began a week ago and had claimed the lives of 10 people, including two police officers, before the incident on Thursday.
Police were then sent to break up 3,000 miners - some armed with clubs and machetes - who had gathered on a hillside overlooking Marikana to call for a pay rise of about $1,000 (£636) a month.
The circumstances that led police to open fire remain unclear, but reports from eyewitnesses suggest the shooting took place after a group of demonstrators rushed at a line of police officers.
Police, armed with automatic rifles and pistols, fired dozens of shots, witnesses said.
Police chief Riah Phiyega said officers "were forced to use maximum force to defend themselves".
She said 259 people had been arrested on various charges.
The Association of Mineworkers and Construction Union (AMCU) accused the police of carrying out a massacre.
"There was no need whatsoever for these people to be killed like that," General Secretary Jeffrey Mphahlele told Reuters news agency.
The miners, who are currently earning between 4,000 and 5,000 rand ($484-$605), say they want their salary increased to 12,500 rand ($1,512).
South Africa is the largest platinum producer in the world and the dispute has already affected production.
Lonmin, the world's third-largest platinum producer, has encountered similar labour disputes at the Marikana mine.