The fire, which has largely been extinguished, occurred at around 10:30 a.m. (0130 GMT) at a factory run by battery manufacturer Aricell in Hwaseong, south of the capital Seoul.
The blaze began after a series of battery cells exploded inside a warehouse with some 35,000 units, said Kim Jin-young, a local fire official. What had triggered the explosion remains unclear, he added.
Yonhap news agency had earlier reported that some 20 bodies had been found inside the plant, but Kim told a televised briefing that 16 people died and two others have suffered serious injuries.
He said rescuers were trying to find the five people unaccounted for.
A Reuters witness saw firefighters moving up to six bodies out of the factory, which his located in an industrial area.
Established in 2020, Aricell makes lithium primary batteries for sensors and radio communication devices. It has 48 employees, according to its latest regulatory filing and its Linkedin profile.
Calls to Aricell offices were unanswered.
The company is not listed on South Korea's stock market but is majority owned by S-Connect, according to Aricell regulatory filing. S-Connect is registered on the junior Kosdaq index and its shares closed down 22.5%.
Live TV footage showed firefighters spraying the damaged steel and concrete building. Parts of the upper level had collapsed, and large chunks of the building looked like they had been blown out into the street by an explosion.