Two bar shootings, one in a township close to Johannesburg, the other in eastern South Africa, left 19 dead, police said as they tried to verify if the murders were linked.

In Soweto, 15 people were killed as they enjoyed a night out, police said, when assailants drew up in a minibus taxi and began randomly firing high-calibre guns at drinkers.

Police in the eastern city of Pietermaritzburg, in KwaZulu-Natal, reported four people were killed and eight wounded in a bar when two men fired discriminately at customers.

For the police it was too early to say if the assaults were in some way connected, but they observed their similarity.

In Soweto, Johannesburg's largest township to the southwest of South Africa's economic capital, police were called to the scene shortly after midnight.

"When we arrived at the scene, 12 people were dead with gunshot wounds," police officer Nonhlanhla Kubheka told AFP.

Eleven people were taken to hospital, and three later succumbed to their wounds.

The dead, who included two women, were aged between 19 and 35, provincial police chief Mr Elias Mawela told AFP.

"According to witnesses they shot randomly," said Mr Mawela, adding forensic police were still collecting evidence.

There were no details regarding the assailants.

"Nobody has been arrested. They came and shot at people who were having fun," said Ms Kubheka, commander of the Orlando police station, the Soweto district where the shooting took place.

Hundreds of people massed behind police cordons as police investigated, AFP journalists reported.

Police led away crying relatives of those caught up in the drama who tried to approach the crime scene.

The colourful Soweto Towers, a favourite bungee jumping spot for tourists, stood out in the background.

In Pietermaritzburg, four people were killed and eight wounded around 8.30pm on Saturday, local police spokesman Nqobile Gwala said.

Two men drove up, entered the bar and "fired random shots at the patrons", before fleeing, Ms Gwala said.

"A total of 12 people were shot. Two people were declared dead at the scene and the other two died in hospital.

"Another eight people are still in hospital after they sustained injuries."

The dead were aged between 30 and 45.

The attack occurred at a tavern in a semi-rural area 20 kilometres from Pietermaritzburg, close to a car wash and a liquor store, according to an AFP reporter on the scene.

Local mayor Mzimkhulu Thebola said the assault was over very quickly without any robbery, conversation or fight.

"Every week we get news of people that have just been shot at randomly," said Mr Thebola, wearing a bright yellow winter jacket, the colours of the ruling African National Congress.

An AFP correspondent saw blood stains on the ground in front of the bar.

The killings come two weeks to the day after the mysterious deaths of 21 people, mostly teens, in still unclear circumstances at a township tavern last month in the southern city of East London.

The latest shootings also come a year after an outbreak of the worst violence the country has seen since the end of the apartheid era three decades ago brought democracy.

Last July saw large scale rioting and looting, ransacking of shops, a wave of arson attacks and attacks on infrastructure and industrial warehouses leading to more than 350 deaths and several thousand arrests with the country already in the throes of a major Covid-19 wave.

Most of the unrest occurred in Johannesburg and the eastern province of Kwazulu-Natal as South Africans protested the sentencing and incarceration of former President Jacob Zuma.

Mr Zuma was sentenced after refusing to testify on corruption charges during his 2009 to 2018 tenure.