# STL to OBJ Converter

> Turn STL files into OBJ for Blender, Maya, ZBrush or a game engine. Every triangle is kept, corners are welded into shared vertices, and you choose which way is up.

Page: https://printpal.io/convert/stl-to-obj
Updated: 2026-11-12
Use it: open https://printpal.io/convert/stl-to-obj in a browser and drop a file. Free, no account, files are processed locally and never uploaded.

STL stores nothing but triangles, so STL to OBJ is lossless: every triangle comes across at full precision. The converter also welds the loose STL corners into shared vertices, the way OBJ readers expect, which makes the OBJ editable as one connected surface and usually smaller than an ASCII STL.

OBJ has no units, so a 40 mm part becomes 40 units. Blender treats a unit as a metre, so scale by 0.001 on import if real size matters. Orientation is the other catch: STL is Z up, and Blender's OBJ importer assumes Y up. Choose **Y up** in the OBJ options when the file is going to Blender, and keep **Z up** when it is going back to a slicer.

## How to convert STL to OBJ

1. **Drop your STL files.** Drop one or more .stl files, binary or ASCII, or a .zip of them.
2. **Check the preview.** The model appears at the size and orientation it will have. Fix the file units, up axis or size under Size, units and orientation if needed.
3. **Choose OBJ options.** Keep materials on to get a .zip with the .obj, its .mtl and textures. Pick the up axis: Y for Blender and game engines, Z for slicers and CAD.
4. **Convert and download.** One file downloads straight away. A batch gives a download per file and one .zip of all of them.

## What carries over

| | Result |
|---|---|
| Geometry | Every triangle is kept at full precision. |
| Color | STL has no color to carry. The OBJ comes out uncolored. |
| Units | OBJ stores no units. The numbers stay in the unit the STL was read in (millimetres); you can change that in the options. |
| Orientation | Kept the way the STL had it. Switch to Y up (Blender, game engines) or Z up (slicers, CAD) in the options. |
| Objects | Each part stays a separate object or mesh. |

## STL at a glance (Stereolithography (Standard Triangle Language))

Created by 3D Systems in 1987 for the first stereolithography printers, STL is still the format every slicer and print service accepts. It describes a surface as a list of independent triangles, with no shared vertices, units, colors or scene structure.

- **Stores:** Loose triangles: three corners and a normal each, binary or ASCII
- **Color:** None in the standard
- **Units:** None written; slicers assume millimetres
- **Up axis:** Z, the slicer convention
- **File size:** 50 bytes per triangle in binary, about 5 times that as ASCII
- **Opens in:** Every slicer, CAD tool and 3D app

## OBJ at a glance (Wavefront OBJ)

OBJ came out of Wavefront Technologies' animation software and became the plain-text lingua franca of 3D. The geometry is in the .obj; colors and texture references live in a companion .mtl file, which is why OBJs so often arrive grey.

- **Stores:** Vertices, faces (triangles, quads, n-gons), UVs and normals as text
- **Color:** Materials and textures in a separate .mtl file; vertex colors as an unofficial extension
- **Units:** None, the numbers are bare
- **Up axis:** Y by convention (Blender, Maya, most 3D apps)
- **File size:** Text: about a binary STL's size for bare geometry, up to twice that with UVs and normals
- **Opens in:** Blender, Maya, 3ds Max, ZBrush, Cinema 4D, game engines, most slicers

## Tips

- **Going to Blender?** Choose **Y up**. Blender's importer turns Y up into its own Z up, so the model arrives standing.
- **Flat facets** STL normals are per facet. The OBJ carries none, so Blender's Shade Auto Smooth works without fighting it.
- **Want color?** STL has none to carry. Paint it in Blender, or paint filament colors in the [3D model painter](https://printpal.io/tools/3d-model-painter) and export 3MF.

## FAQ

### Does converting STL to OBJ lose quality?

No. Both store triangles, so every triangle is kept at full float precision. Only duplicate corners are merged into shared vertices.

### Why is my OBJ lying on its back in Blender?

STL is Z up and Blender's OBJ importer assumes Y up. Convert again with Y up, or set Up Axis to Z in Blender's import options.

### Can I convert many STL files to OBJ at once?

Yes. Drop them all, or a .zip, convert once, and download each OBJ or a single .zip.

### Is the converter free? Are there limits?

Free, with no sign-up, watermark or file count limit. Batches and files of a few hundred MB work on most laptops; the only limit is your device's memory.

### Are my files uploaded?

No. Files are read and written by JavaScript and WebAssembly in your browser and never sent to PrintPal. The STEP and IGES reader is the only extra download, once, from a public CDN.

## Related

- [OBJ to STL Converter](https://printpal.io/convert/obj-to-stl)
- [STL to 3MF Converter](https://printpal.io/convert/stl-to-3mf)
- [STL to GLB Converter](https://printpal.io/convert/stl-to-glb)
- [OBJ to GLB Converter](https://printpal.io/convert/obj-to-glb)
- [STL to PLY Converter](https://printpal.io/convert/stl-to-ply)
- [OBJ to 3MF Converter](https://printpal.io/convert/obj-to-3mf)
- [STL to USDZ Converter](https://printpal.io/convert/stl-to-usdz)
- [OBJ to USDZ Converter](https://printpal.io/convert/obj-to-usdz)
- [3D model viewer](https://printpal.io/tools/3d-model-viewer)
- [3D model converter](https://printpal.io/tools/3d-model-converter)
- [Mesh Repair](https://printpal.io/tools/mesh-repair)
- PrintPal for LLMs: https://printpal.io/llms.txt
