AnyFormat

00 OBJ → STL

OBJ to STL

Triangulates quads and n-gons. Recomputes every normal.

01OBJ in
02STL out
03Options 3

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 OBJ to STL, which is what every slicer wants. OBJ can hold quads and n-gons; STL is triangles only, so the conversion has real work to do rather than just relabelling.

Triangulation

Faces with four or more sides are split with a triangle fan from the first vertex. That is exact for convex faces, which is what OBJ exporters overwhelmingly produce — a quad from a subdivision surface, a face from a CAD boolean.

A concave n-gon can come out slightly wrong, because a fan from one corner may create triangles that fall outside the original outline. Proper ear clipping would handle it; in practice concave n-gons are rare enough in exported OBJs that the trade-off favours the simple approach. The count of triangulated faces is reported, so you know if the model had any.

Normals are recomputed, not copied

An OBJ may carry per-vertex normals; STL stores one per facet. Rather than picking one of the three vertex normals, the facet normal is computed from the triangle's own winding using the right-hand rule.

This is more reliable than trusting the source, because a surprising number of files have normals that disagree with their winding — the result of a mirrored transform somewhere upstream. Slicers key on winding rather than the stored normal, so recomputing produces a file that slices the way it looks.

Binary by default

Binary STL is about a fifth the size of ASCII and every slicer reads it. ASCII is available for when you need to inspect or diff the file by hand, and for the rare tool that only accepts it.

What is dropped, and it is a lot

Texture coordinates, materials, the .mtl reference, object and group names, and vertex colours if the file used the non-standard extension for them. STL keeps geometry and nothing else.

Multiple objects are merged into one triangle list, because STL has no way to keep them separate. If the parts need to stay distinct — different colours, different materials, a multi-material print — convert to 3MF instead.

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 “obj to stl for 3d printing”, “wavefront to stl”, “convert obj to stl online”.

Questions

Will my textures come across?
No. STL has no texture or material model at all. Use glTF or 3MF if appearance matters.
Binary or ASCII?
Binary, unless something specifically needs text. It is about five times smaller and universally supported.
My slicer says the model is not watertight.
That is a property of the original mesh, not the conversion. OBJ tolerates holes and non-manifold edges; slicers do not. Repair it in Blender or Meshmixer, or use your slicer’s repair option.
The model is a thousand times too big.
Units. If the OBJ was authored in metres and you are slicing in millimetres, turn on unit conversion or set the scale to 1000.
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.