Free · runs in your browser · no signup

Convert STL to OBJ Online

You may need an OBJ when a 3D printing model has to go into an animation, game or texturing tool, or an app that does not open STL. This page converts binary or ASCII STL to Wavefront OBJ on your own device and merges the duplicate corners that STL stores for every triangle.

Loading the converter...

How to use it

  1. 1

    Add your .stl

    Drop a binary or ASCII STL on the box, or click to pick it. Up to 100 MB.

  2. 2

    Choose how to save it

    Keep "Merge duplicate vertices" on for a smaller, connected mesh. Rotate to Y-up if the target app expects it.

  3. 3

    Set a scale if needed

    STL from printing workflows is usually in millimetres. Scale to cm or metres if your scene uses them.

  4. 4

    Download the OBJ

    Import it into Blender, Maya, Unity, Unreal or any OBJ-compatible tool.

What to know before you convert

  • STL has no colours, textures or UVs, so the OBJ has none either. No .mtl file is created; unwrap and texture it in your 3D tool.
  • With vertex merging on, normals are not written. Most apps compute them on import. Turn merging off to keep one vertex per triangle corner.
  • OBJ is a text format, so the OBJ can be larger than a binary STL with the same mesh.
  • The mesh is converted as one object. Separate shells stay separate but are not split into named parts.
  • Colour data in some binary STLs (VisCAM or SolidView extensions) is ignored.

Don't have a model?

Generate one from a sketch, image or text. Our AI generators give you a 3D model with an STL download for printing. They use credits; this converter does not.

Frequently Asked Questions

No. An STL contains only triangles, so there is nothing to carry over. Once you have the OBJ you can unwrap UVs and paint or texture it in Blender, Substance Painter or similar.
STL repeats every corner for every triangle that uses it. Merging joins identical corners into shared vertices, which usually makes the OBJ several times smaller and gives you a connected mesh you can edit. Normals are left out and recomputed by the app that opens the file.
STL files from CAD and slicers are normally Z-up. Game engines and web viewers use Y-up. Blender handles both on import, so tick the box only if the model shows up lying on its back in your target app.
Yes. Both binary and ASCII STL are detected automatically.
No. Vertex positions are copied as they are, apart from the scale and rotation you choose. Nothing is simplified or smoothed.
No. The page reads the file and converts it inside your browser with the open-source three.js library. Nothing is sent to our servers, there is no account, and no credits are used. Closing the tab discards everything.