Free tool
STL to OBJ converter
Drop an STL, pick units and the up axis, download an OBJ that lands right in Blender or Unity.
Runs in your browser. Nothing is uploaded.
How to use it
1Drop the STL
Binary or ASCII, one file or several. Each STL becomes a named object in the OBJ. Nothing is uploaded.
2Choose units
Millimetres keeps the numbers from the STL. Metres makes 1 unit equal 1 metre, for scenes measured in metres.
3Choose the up axis
Y up follows the glTF convention. Z up keeps the orientation slicers and CAD use.
4Download the OBJ
Vertices are shared between faces, so the OBJ is often smaller than the STL. Add normals if your program wants them.
To convert STL to OBJ, drop the .stl file on the converter above, choose the units and up axis your 3D program expects, and download the OBJ. The triangles come across unchanged, part names are kept as OBJ objects, and nothing is uploaded.
Why convert STL to OBJ
STL is the hand-off format for slicers: triangles and nothing else. OBJ is the hand-off format for 3D software. It names its objects, shares vertices between faces and can be given materials and textures later through a material library, as described in the OBJ specification. Converting is the usual first step when an STL needs to be retopologised, textured, rendered or placed in a game scene.
Units and up axis
Neither format records units, so the choice you make here decides how big the model appears in the next program. Even the Blender manual warns that OBJ files often vary greatly in scale.
| Pick | When | 80 mm part becomes |
|---|---|---|
| Millimetres | CAD, other print tools, keeping the original numbers | 80 |
| Centimetres | Scenes measured in centimetres | 8 |
| Metres | Scenes measured in metres | 0.08 |
| Inches | Imperial CAD | 3.15 |
For the axis, Y up matches the glTF convention, where the specification fixes +Y as up, and Z up matches slicers. Blender itself works Z up, per the Blender manual, and its OBJ importer has Forward and Up axis settings that convert on the way in. If the model lands on its back, export again with the other axis or change those import settings.
What the OBJ contains
- One
oobject per STL file or part, named after it. - Shared vertices, written to 4 decimals in millimetres or the equivalent in other units.
- Triangular faces in the same order and winding as the STL, so outside stays outside.
- Optional per-face normals. Without them, the importing program computes its own; with them, flat faces stay crisp at the cost of a larger file.
- A comment line stating the units and up axis, for whoever opens the file next.
There is no .mtl file, because STL has no colours or materials to describe.
Check the model first
Each STL is checked for open edges when it loads. A watertight STL stays watertight as an OBJ, and an STL with holes keeps them, so fix problems in the STL repair tool first if you plan to print the result later.
Other ways to convert
- Blender: File > Import/Export > Stl (.stl) to import, then File > Import/Export > Wavefront (.obj) to export. The OBJ exporter has Scale, Forward Axis and Up Axis settings and can write an .mtl file alongside, according to the Blender manual.
- PrusaSlicer: import the STL, then File > Export > Export Plate as STL/OBJ, as listed in Prusa's help center. This exports everything on the plate as one mesh.
To go the other way, use the OBJ to STL converter. For GLB, PLY or 3MF output, the STL file converter has every format in one place.
Questions
Can you convert STL to OBJ?
Yes. The triangles of the STL become the faces of the OBJ unchanged, and corners that STL repeats for every triangle are merged into shared vertices. Drop the STL on the converter above and download the OBJ.
Will the OBJ have colours or textures?
No. STL has no standard way to store colour, so there is nothing to carry over, and no .mtl file is written. Add materials in your 3D program after importing.
Should I export the OBJ Y up or Z up?
Use Y up if the receiving program follows the glTF convention, and Z up to keep the orientation of your slicer or CAD model. If the model imports lying on its back, export again with the other axis.
Why is my OBJ huge or tiny after importing?
OBJ has no units, so the program reading it decides what 1 unit means. If it works in metres, an STL measured in millimetres arrives 1,000 times too big. Export in metres for scenes measured in metres, or scale on import.
Is an OBJ bigger than an STL?
Often it is smaller. The relief sample on this page is 3.31 MB as binary STL and 2.08 MB as OBJ, because the OBJ stores each corner once. With per-face normals it grows to 4.89 MB.
Does converting STL to OBJ lose detail?
No. Every triangle is kept, and coordinates are written to 4 decimal places in millimetres, a tenth of a micron, far finer than any printer or scanner resolves.
Read next

3D printing
The Best STL Viewers for Windows, Mac, Android and iPhone (2026)
Free ways to open STL, OBJ and 3MF files in 2026 now that Microsoft 3D Viewer is gone: browser viewers, slicers, MeshLab, Blender and apps for phones.
September 24, 2026 3 min read

3D printing
How to Edit an STL File: The Right Free Tool for Each Change
How to edit an STL file for free: scale, cut, add text, combine parts or cut holes in your slicer, Tinkercad, Blender, Fusion or FreeCAD, matched to the job.
October 8, 2026 10 min read

3D printing
How to Make a 3D Model From a Single Image With AI (2026)
Turn one image into a printable 3D model with AI: preparing the image, Hunyuan3D vs Meshy vs Tripo, licensing, and making the mesh watertight for printing.
September 21, 2026 2 min read