Convert STL to OBJ

Runs on your device · Your file never leaves your device.

STL files come off scanners, slicers and printing sites, and they hold shape alone. Turning one into an OBJ gives you a file that most modelling programs prefer to import, and one that can carry material and texture information once you add it.

An STL almost never carries colour, so the OBJ usually arrives with a single plain material — there is nothing for the conversion to invent (the rare binary STL with a colour per triangle keeps it as point colours). What it does give you is a mesh in a format you can open in Blender, Maya, 3ds Max and many other programs, and start assigning surfaces to.

The conversion runs on your own machine, which for a 3D file is the whole point: a model is usually a client’s product, a scanned property or something not yet announced. Nothing is sent to a server, so there is nothing to delete afterwards and nothing to take anyone’s word for.

How to convert STL to OBJ

  1. Drop the STL file — and its companion files if it has any.
  2. Check that OBJ is selected.
  3. Press Convert.
  4. Download the OBJ file.

Supported formats and limits

Input
STL
Output
OBJ
Companion files
None — an STL is a single file
Keeps animation
No — the format cannot store it
Where it runs
In your browser; the model is never uploaded

Not for: Adding colour or texture that was never in the STL — no converter can recover information the source format cannot store.

How the triangles are written

An STL lists each triangle with three corners of its own; it never records that two triangles share a corner. The OBJ writes each distinct corner position once and lets the triangles share it, so a modelling program opens the model as one connected surface. Each triangle keeps the facing direction the STL stored for it, so the surface looks faceted, as it did in the STL.

The OBJ has no texture coordinates, because the STL had none. It names one material, default, on a usemtl line, without an .mtl file, so the program you open it in gives that material its own plain surface. A binary STL that stores a colour for each triangle, in the non-standard way some printing software uses, keeps those colours, written after each point's position. An STL holding several named solids comes out as one object, without the names.

Why the OBJ is larger

An OBJ is text. Each number is written with all the digits needed to give back the exact value the STL stored, so a coordinate saved as 37.3 appears as 37.29999923706055. The values are unchanged; it is the text form that makes the OBJ larger than the binary STL, even with shared corners written once.

Size and direction

STL files made for printing are almost always in millimetres, but the format does not say so, and neither does OBJ, so by default the OBJ carries the same numbers as the STL. If the program you will open the OBJ in reads its numbers as metres, as Blender does by default, choose A millimetre: the numbers are rewritten in metres, so a 45 mm part arrives there as 45 mm. /3d-converter lists which formats state their own unit.

Print files stand on the Z axis, and an OBJ is usually read with Y as up. Unless you choose to keep the axes, the model is given a quarter turn so it stands upright where the OBJ is opened.

Frequently asked questions

Are my files uploaded to a server?
No. This conversion runs inside your browser using your own device’s processing power, and the file is not uploaded. Once a tool has been used once (video, text recognition and background removal download their engine from this site the first time), it keeps working when your connection drops.
Will the OBJ have colours?
Usually not, because the STL had none to give. STL stores only triangles. The OBJ will have one neutral material, ready for you to replace. The rare binary STL that stores a colour for each triangle keeps it, written as point colours in the OBJ.
Does it keep the exact dimensions?
Yes. The numbers are written as they are, in the units the model was made in; by default the model is also given a quarter turn so it stands up in programs that treat Y as up, which changes its direction, not its size. Choose “Keep the axes as they are” to skip the turn.

Related tools

More in 3D models

This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা