Police said in a statement that the 29-year-old man would face charges of arson, 77 counts of murder and 120 of attempted murder when he soon appears before a court.

He had confessed to involvement in starting the blaze, the statement said, at an inquiry into the tragedy.

The fire broke out on August 31 in a dilapidated building crammed with mostly foreign migrants.

It was one of the worst disasters in living memory in South Africa's economic hub. Many of the dead were burned beyond recognition.

The deaths shed light on the unsafe conditions in which many poor people live in Johannesburg's city center.

People there are charged fees to stay in dozens of abandoned buildings that have been taken over by criminal groups.