Guide

OBJ vs STL

Updated · Mesh OBJ to STL only

Compare OBJ geometry, materials, and editing flexibility with STL’s triangle-only print workflow. Then convert OBJ to STL privately in your browser.

OBJ and STL both describe surfaces, and they are not interchangeable. An OBJ is a flexible mesh file from the Wavefront family. An STL is a list of triangles aimed at fabrication and at slicers. Converting is the right move when you are about to print. It is the wrong move when you still need the information STL cannot hold. This page is the decision, not a second copy of the converter.

What each file is for

Use the OBJ while you are still modeling, splitting objects, or assigning materials. Use the STL when Bambu Studio, Cura, or PrusaSlicer needs a solid to place on a bed. Many pipelines keep both: the OBJ (and its MTL, if any) in the project, and a binary STL next to the print profile. Deleting the OBJ because an STL downloaded is how people lose UVs and object names they later want back.

OBJ STL from this tool
Typical job Edit, render, exchange meshes Slice and print
Faces Polygons, stored as faces Triangles only
Several objects Named objects in one file Merged into one triangle list
Materials Often a separate MTL Dropped
UVs and textures Can be referenced Dropped
Units Whatever you authored Not stored; we scale numbers toward millimeters
Repair Not automatic Not automatic

The merge matters. An OBJ of a figurine plus a separate base can arrive as two objects. The converter writes one STL so a slicer imports a single body. If you needed two print jobs, export two OBJs and convert them separately. Object names do not become separate STL files.

What conversion drops

Triangles stay. Positions are scaled and, by default, rotated so the up axis you chose points to Z. Everything else is out of scope for this MVP.

Smoothing groups and vertex normals in the OBJ are not a feature you can round-trip. The STL format stores a face normal per triangle, which the exporter computes from the corners. A slicer does not use that normal the way a renderer uses a smooth shaded OBJ.

UVs, texture filenames, and the MTL file are ignored on purpose. A print in one filament color does not need them. A full-color pipeline does, and it should not pretend an STL from this page still has them. Keep the OBJ.

Vertex colors, if your exporter wrote them, are not copied. Curves and standalone points are skipped. If the file has no faces, conversion stops and says so. There is nothing honest to put in an STL.

Hierarchy and animation do not exist in STL. A posed character should be exported from Blender as the pose you want, with modifiers applied, so the OBJ already contains the final surface.

What conversion does not promise

People treat “I exported STL” as “the mesh is printable.” Those are different sentences. A non-manifold edge, a hole in the shell, an inverted patch, or a wall thinner than your nozzle will still be there. The bounding box can look perfect while the slicer refuses the file. Repair it in Blender or another mesh tool, then export again. This site does not run a repair kernel, and the terms say the same thing in plainer legal language.

Scale is the other false promise. The STL will not remember that you meant millimeters. The converter writes larger or smaller numbers based on the unit you pick, and the slicer reads those numbers as millimeters. Pick the unit that matches the OBJ. The box on the tool page is there so you can see the result before the printer does.

A practical rule

Keep the OBJ if any of these are true: you will edit the mesh, you still render it, it has more than one object you might print separately, or it has materials you care about. Make an STL when a slicer is the next app on the screen. Make a new STL when you change units or repair the mesh. Do not keep a stack of mystery STLs whose millimeter size you never checked.

If you are still unsure which file you were handed, read what an OBJ is and what an STL is. If you already know you want the print file, the conversion steps are the Blender-to-slicer version of this table.

The binary default is covered in binary vs ASCII STL. Use ASCII only when you want to read coordinates as text. For a slicer, binary is the file you just decided to make, not a worse copy of the OBJ.

Questions

Should I delete the OBJ after I have an STL?

No, not if you might edit the model, re-render it, or re-export at another scale. The STL is the print copy. The OBJ remains the richer mesh file.

Does converting to STL fix holes?

No. Faces are copied. A hole in the OBJ is a hole in the STL. Repair is a separate step in a modeler or a mesh tool you trust.

Will color survive?

Not in this converter. Materials, MTL files, UVs, and vertex colors are ignored. The STL is a triangle shell.

Make an STL from your OBJ