A man has killed his parents in row over money and then slaughtered 17 villagers, including a three-year-old girl - to cover up his horrific crime.
He then went on a mass killing spree and claimed the lives of 17 villagers, including four children and one 72-year-old neighbour.
Reports claim Yang killed the villagers in an attempt to prevent them finding out after his parents' murders and informing police.
The victims, 11 men and eight women, were members of six families, Xinhua news agency reported.
Their bodies were found on Thursday at different locations in the village, according to a state-backed news website.
Yang, who was born in 1989, was arrested in the provincial capital of Kunming, around 200km away from where the bodies were found.
His arrest came after 33 hours of 'arduous investigation', a statement on the official social media account of the Yunnan police showed.
A list with the victims' names circulating online showed four names were minors under the age of 18.
Yunnan officers have verified the list and the news release, Beijing News reported, adding that the police have said there was no link to terrorism.