AnyFormat

00 STL → OBJ

STL to OBJ

Optionally merges the duplicate vertices STL creates.

01STL in
02OBJ out
03Options 4

STL repeats every vertex once per triangle. Merging typically cuts the vertex count by two thirds.

Vertices closer together than this are treated as one.

glTF works in metres and the printing formats in millimetres. Leave this on unless your model comes out a thousand times the wrong size.

Multiplied on top of any unit conversion. Use 25.4 to turn inches into millimetres.

  • No upload The conversion runs in this tab. Your file never travels — not to us, and not to the advertising.
  • No sign-up, no email, no daily cap There is no account system to sign up to.
  • No size limit we invented Only your device's memory — about ~2 GB on a desktop browser, ~400 MB on a phone.
  • Turn your Wi-Fi off and convert anyway The conversion needs nothing but this page. Ads will not load without a connection; your file will still convert. That is the whole claim, and it takes five seconds to check.

Converts STL to OBJ. Both hold plain geometry, so nothing is lost going this way — but OBJ is text, has named objects, and indexes its vertices, which makes it far more workable in a 3D application.

Merging the duplicates

STL has no vertex indexing: every triangle carries its own three vertices, so a vertex shared by six triangles is stored six times. Converting straight across preserves that, giving an OBJ with three times as many vertex lines as it needs.

Turn on Merge duplicate vertices and identical positions become one indexed vertex. A typical solid model drops from three vertices per triangle to about half a vertex per triangle — a reduction of roughly 80% in the vertex list.

Beyond size, the merged mesh is what most tools want: smooth shading, edge selection and subdivision all need to know which triangles share an edge, and an unwelded mesh tells them nothing shares anything.

The tolerance matters for scanned models, where two "identical" vertices may differ in the seventh decimal. The default catches those; raise it if the model still has cracks after merging.

Binary or ASCII — detected properly

Both STL variants are read. Detection is by file size against the declared triangle count, not by whether the file starts with the word "solid" — because a good many binary exporters write "solid" into the 80-byte header, and every converter that checks for that string alone misreads them.

What STL cannot hold

STL is a list of triangles and nothing else. No colour, no texture, no material, no units, no object names, no scene structure — a fifty-part assembly and a single blob are the same thing to it.

It also stores every vertex once per triangle it belongs to. A cube has eight corners and is stored as thirty-six vertices, because each of the twelve triangles carries its own copy. That is why STL files are large relative to what they contain, and why the merge option exists.

If any of that matters — colour, units, separate parts — 3MF keeps all of it and is read by every current slicer.

Units, and the thousand-fold mistake

Neither STL nor OBJ records a unit. A file containing the number 10 might mean 10 mm, 10 cm or 10 inches, and nothing in the file says which. Slicers assume millimetres, CAD packages usually assume whatever the document was set to, and glTF viewers assume metres.

That last one is the trap. glTF's convention is metres; the printing formats are millimetres. Convert between them without scaling and your model arrives either a thousand times too small or a thousand times too large. Automatic unit conversion handles it, and the note tells you what was applied so you can switch it off when the source was already in the other unit.

The bounding box is reported after every conversion. Checking it against what you expect takes two seconds and catches this immediately.

Other names for this

Also searched as “stl to wavefront obj”, “convert stl file to obj”.

Questions

Should I merge duplicate vertices?
Yes if you are going to edit the model — smooth shading and edge selection need shared vertices. No if you want an exact structural copy of the STL.
Will I get a .mtl material file?
No. STL has no material information, so there would be nothing to put in it. The OBJ references no material library.
My model is enormous or microscopic in Blender.
Units. STL has none, and Blender defaults to metres. Set the import scale to 0.001 if the model was authored in millimetres.
Is my model uploaded?
No. The parsing and rewriting happen in this tab. Models are frequently confidential — an unreleased product, a client’s part, a scan of something proprietary — and none of it is transmitted. Turn your Wi-Fi off and the tool keeps working.
How large a model can I convert?
There is no imposed limit; the ceiling is your device’s memory. A desktop browser handles files of roughly 2 GB and a phone about 400 MB. A 200 MB STL — around four million triangles — converts in a few seconds on a laptop.
Can I convert several models at once?
Yes — drop as many as you like, or a whole folder. Each keeps its original name with the new extension, and you can download them individually or as a ZIP.