South Korean President Moon Jae-in comforted mourners in the small scenic city of Jecheon on Friday amid growing public anger at how fire ripped through an eight-storey building, killing at least 29 people, most of them taking a sauna.

All but one of the victims had been identified by Friday morning, including 20 women who were overcome by toxic fumes in the second-floor sauna, Jecheon fire chief Lee Sang-min said.

"Our crew on the scene said the lockers inside the facility were installed like a labyrinth and it’s a glass building with few windows, which apparently made way for the smoke from the first floor to quickly fill up the second floor," Lee told reporters.

Consoling family members, President Moon Jae-in said he was devastated and promised a full investigation.

"The government as a whole will thoroughly probe this accident's cause and process of response, and although after the fact, the investigation and measures will be such that, at least, there will not be lingering deep sorrow."

Moon's predecessor, ousted former president Park Geun-hye, was widely criticised for her slow and ineffective response to the Sewol ferry tragedy in 2014 in which more than 300 people, mostly schoolchildren, drowned.

Anger mounted on Friday at reports of shoddy construction, broken doors and other problems that may have contributed to the deaths.

One man shouted at officials visiting survivors in hospital, complaining that firefighters failed to break through to the trapped women in time.

Media reported that a glass door leading to the sauna had not been working properly for more than a month, and that emergency stairs were often used for storage.

"Nothing has changed even after the Sewol tragedy," parliament member Ahn Cheol-soo said.

"I just cannot understand why the same type of accidents happen over and over again," he said, according to the Yonhap news agency.

Jecheon's mayor told reporters the city was considering a mass funeral and planned to cover most of the costs.

Investigators were still trying to find out the cause of the conflagration, but were focusing on a first-floor parking lot, Lee said.

"There were cars parked on the first floor, and as they were burning, a large amount of toxic gases were released."

Tragic stories began to emerge as victims were identified.

One man told Yonhap that he lost his mother, wife, and daughter. Another said he received a phone call from his trapped wife as she coughed in the gathering smoke, but was later unable to reach her again.

Heavy smoke charred glass facade of the building as firefighters struggled to extinguish the blaze, climbing up and down a ladder in a desperate search for survivors.

Organizers called off a leg of the 2018 Pyeongchang Winter Games torch relay in Jecheon on what should have been a day of celebration ahead of the games.

"We thought that having a torch relay at a place where so many people died in a fire accident is just not right, and therefore cancelled today’s event in Jecheon," Ryu Hoyon, the torch relay manager for the Pyeongchang organising committee, told Reuters. "We are planning to adjust further schedules with those who want to continue the relay."

Jecheon is southeast of the capital Seoul and is popular with visitors to its mountains and lakes.

The Games begin in February.