STL Mesh

FILE FORMAT GUIDE

What Is an OBJ File?

The Wavefront OBJ format — a plain-text 3D mesh that has been the default exchange format for artists, sculptors, and scanners since the 1980s.

A text file you can read

An OBJ is plain ASCII. Open it in any text editor and you see lines starting with v (vertex), vt (texture coordinate), vn (vertex normal), and f (face). Each face references vertex indices — triangles, quads, or n-gons. That simplicity is why every 3D tool since the 1990s can read it.

Wavefront Technologies created the format for their Advanced Visualizer software. The spec became public domain; no license is needed, which is why OBJ became the lowest-common-denominator exchange format for 3D. It predates STL in spirit (both store geometry as text or indices), but OBJ carries more: UVs for texturing, per-vertex normals, and named groups.

What is inside an OBJ

DataStored in OBJ?
Vertex positions (x, y, z)Yes — v lines
Texture coordinates (UVs)Yes — vt lines
Vertex normalsYes — vn lines
Faces (triangles, quads, n-gons)Yes — f lines with v/vt/vn indices
Named objects and groupsYes — o and g lines
Materials and texturesVia external .mtl sidecar
Animation, skeleton, morph targetsNo — use FBX or glTF for that
UnitsUndefined — like STL, programs assume mm or meters
Print settings, supports, infillNo — use 3MF for that

Where OBJ files come from

SourceWhat it exports
BlenderOBJ with .mtl for materials; a universal fallback export
ZBrush / MudboxHigh-poly sculpts, often millions of triangles
3D scanners (Artec, Revopoint, photogrammetry)Scan mesh with or without vertex color
CAD exporters (Fusion 360, Rhino)Tessellated OBJ when native formats are not accepted
3D marketplaces (Turbosquid, CGTrader)Download option alongside FBX and glTF

OBJ vs STL

Both are geometry-only formats with no animation, no print settings, and no defined unit. The difference: OBJ can carry UVs, normals, groups, and a material reference. STL carries only triangles. For printing, STL is the safer choice because every slicer accepts it. For sharing with an artist who needs UVs intact, OBJ is better.

OBJSTL
What it isPlain-text indexed mesh + optional .mtlRaw triangle list (binary or ASCII)
UVs / normalsYesNormals only (per-face, often ignored)
Materials / texturesVia .mtl sidecarNo
Face typesTriangles, quads, n-gonsTriangles only
Named groupsYes (o/g lines)No
UnitsUndefinedUndefined — slicers assume mm
Best forEditing, sculpting, marketplace exchangeMaximum slicer compatibility
OBJ meshvertices, UVs, normals,groups, .mtl referenceINPUTTriangulate + flattenquads/n-gons → triangles,materials droppedIN THIS TABBinary STLgeometry only,slicer-readyOUTPUT
Converting OBJ to STL keeps the triangulated geometry; UVs, normals, groups and materials are dropped.

Use the OBJ to STL converter on this site for that extraction, or the STL to OBJ converter for the reverse direction. Conversion runs in the browser; the file is not uploaded.

FAQ

What does OBJ stand for?+

OBJ is short for "object" — the Wavefront OBJ format was created by Wavefront Technologies in the 1980s for their Advanced Visualizer software. The format specification is public domain; no license is needed to read, write, or distribute .obj files.

How do I open an OBJ file?+

Blender, MeshLab, Windows 3D Viewer, most CAD tools, and any three.js-based web viewer. The viewer on this site opens OBJ in the browser — parsing runs in your tab, the file is not uploaded. If the model looks gray, the .mtl material file was not loaded alongside it; geometry is still there.

Can I 3D-print an OBJ directly?+

Most slicers (Bambu Studio, PrusaSlicer, OrcaSlicer, Cura) can import OBJ, but STL remains the universal standard. If the slicer rejects the OBJ or loses scale, convert to STL first using the OBJ to STL converter on this site.

OBJ vs STL — which should I use?+

For 3D printing, STL is safer — every slicer accepts it. For sharing with artists or editors, OBJ is better because it can carry UVs, normals, and a material reference. Neither format stores print settings; use 3MF for that.

What is an MTL file?+

A .mtl file is the material library that an OBJ references. It defines colors, specular, transparency, and texture map paths. The .mtl is a plain-text sidecar — if you move the .obj without the .mtl, the model loads but looks untextured. STL has no equivalent; converting OBJ to STL drops the material entirely.

🧊
Written by Casey Marlin · Last updated
This update: format facts checked against the Wavefront OBJ specification