China has promised tough punishment for knife-wielding attackers who killed 33 people and left nearly 130 people injured in an unprecedented train station rampage, blaming separatists from Xinjiang, as witnesses described a city in shock.

The incident happened at around 9 pm local time (1:00pm GMT) late Saturday night at Kunming Railway Station in Yunnan province "was an organised, premeditated violent terrorist attack," Xinhua news agency reported, citing authorities.

"A group of men carrying weapons burst into the train station plaza and the ticket hall, stabbing whoever they saw," it said.

The Kunming city government said the attack was orchestrated by separatists from the northwest region of Xinjiang, Xinhua reported.

"Evidence at the crime scene showed that the Kunming railway station terrorist attack was carried out by Xinjiang separatist forces," Xinhua said, citing the government of Kunming city where the attack happened.

The attackers were dressed in similar black clothing, the official China News Service said, citing eyewitnesses.

Xinhua also reported that five of the attackers were shot by police at the train station and are "chasing the rest". Officers sealed off a wide area around the station while police were questioning people at the site.

Victims were being transported to local hospitals around the city, according to an AFP news agency report.

A knife victim named Yang Haifei, who was wounded in the chest and back, told Xinhua that he had been buying a train ticket when the attackers approached and had tried to escape with the crowd.

"I saw a person come straight at me with a long knife and I ran away with everyone," he said, while others "simply fell on the ground".

Photos circulating online showed scattered luggage and bodies lying on the floor in blood, although the authenticity of the images could not be verified.

President's condolences

China's top security official Meng Jianzhu will travel to Kunming to oversee its handling, CCTV said, while President Xi Jinping and Premier Li Keqiang sent condolences to the victims and their families.

Yunnan has no history of violent attacks, and the motive for the stabbings was not immediately clear, nor the identity or ethnicity of the perpetrators.

However, China has seen a number of mass stabbings and other attacks in recent times carried out by people bearing grudges against society.

China has blamed similar incidents in the past on fighters operating in Xinjiang, though such attacks have generally been limited to Xinjiang itself.

The attack comes at a sensitive time as China gears up for the annual meeting of parliament, which opens in Beijing on Wednesday and is normally accompanied by a tightening of security across the country.