L'incendie s'est déclaré vers 09H00 (02H00 GMT) dans un complexe industriel à Tangerang et les pompiers ont lutté pendant plusieurs heures contre les flammes avant d'éteindre le feu en fin d'après-midi.
"Il y a au total 103 ouvriers dans cette usine, 43 sont blessés et soignés dans trois hôpitaux, les restes de 23 victimes ont été découverts", a déclaré un responsable de la police de Jakarta, Nico Afinta, à la chaîne de télévision indonésienne Kompas TV.
Un pompier sur place a indiqué que les victimes avaient été calcinées et ne pouvaient être reconnues: "Ceux qui sont morts sont complètement brûlés, totalement méconnaissables", a déclaré ce pompier, Oni Sahroni, à la chaîne de télévision Metro TV.
Selon des images de la télévision indonésienne, les bâtiments de l'usine se sont en partie effondrés, des véhicules ont été calcinés et un épais nuage de fumée noire s'est dégagé dans l'atmosphère.
Des témoins ont raconté à la télévision avoir entendu dans la matinée deux fortes explosions. L'usine, un complexe proche d'un quartier résidentiel, était opérationnelle depuis six semaines, a déclaré à Metro TV un responsable du district, Toni Rustoni.
Ade, un blessé brûlé aux bras et aux jambes, a donné son témoignage dans le couloir d'un hôpital.
"Je ne sais pas comment c'est arrivé. Je travaillais à l'extérieur de l'usine et il y a eu des explosions. Quatre voitures ont explosé et presque toutes les motocyclettes ont aussi explosé", a-t-il déclaré à l'AFP.
Diana, 20 ans, a raconté avoir été sous le choc en apprenant que sa soeur âgée de 15 ans, employée depuis deux semaines dans l'usine, avait été grièvement blessée dans l'incendie.
"J'étais choquée quand j'ai eu connaissance de la nouvelle par téléphone, je me suis presque effondrée", a raconté Diana à Metro TV.
"J'espère que la société prendra ses responsabilités (...) et payera pour tout, je veux que ma soeur se rétablisse", a-t-elle ajouté.
Une enquête a été ouverte, a indiqué la police.