You finish a model, hit export, and get a dropdown with a dozen extensions and no explanation. Pick wrong and your textures vanish, your print comes out 25.4 times too small, or the game engine rejects the file outright. Here's what OBJ, STL, GLB, and FBX each actually carry, and how to pick in about five seconds. Disclosure up front: we make Re:Form, a browser sculpting app, and it appears in the examples — but the format facts below come from the specs, not from us.

Which 3D file format should I use?

Pick by destination, not by habit. Send STL to a 3D printer slicer. Send GLB to a game engine, a website, or anywhere a model needs textures baked in. Send FBX when a rig or animation must survive between Autodesk-era tools. Send OBJ when you just need geometry to move between two apps and want the least that can go wrong.

That's the whole answer. The rest of this post is why — and what each format quietly throws away when you're not looking.

The one-table version

OBJ STL GLB FBX
Geometry Yes (quads + n-gons) Triangles only Yes Yes
UVs / textures UVs yes; materials via separate .mtl No Yes — embedded in one file Yes
Animation / rigging No No Yes Yes
Scene hierarchy No No Yes Yes
Color Via .mtl Not in the standard Yes (PBR) Yes
Open standard Yes, published Yes, trivial Yes — royalty-free, ISO/IEC 12113:2022 Proprietary (Autodesk)
File is ASCII text ASCII or binary Single binary Binary or ASCII
Best for Simple geometry handoff 3D printing Engines, web, AR Rigs and animation

Facts in this table reflect the published specs as of July 2026; sources are linked throughout below.

OBJ: the boring one that always works

OBJ is a plain-text format created by Wavefront Technologies for its Advanced Visualizer package, and it stores geometry alone — vertex positions, UV coordinates, normals, and faces. It is openly published and readable in a text editor. What it does not support: mesh hierarchies, rigging, skinning, or animation of any kind.

That last sentence sounds like a weakness. In practice it's why OBJ refuses to die. A format that carries only geometry has almost no surface area for two applications to disagree about. Thirty years of software reads it, and it reads it the same way.

Two details worth knowing:

  • It keeps your quads. OBJ stores polygons, not just triangles, so quads and n-gons survive the round trip. If you're moving a mesh into a modeler for retopology or hard-surface work, this matters — STL would shred that topology into triangles permanently.
  • Materials live in a second file. Surface properties go in a companion .mtl file, also defined by Wavefront, also plain text. Send someone an OBJ without its MTL and its textures and you've sent them a gray mesh. This is the single most common OBJ complaint, and it's a packaging problem, not a format bug.

Use OBJ when: you want geometry to land intact in another app with minimal drama, or when the receiving tool's importer list is short and old.

STL: triangles for printers, nothing else

STL is the default handoff format for 3D printing, and it is aggressively minimal: a bare list of triangles with their normals, and nothing more. No units. No hierarchy. No animation. No color in the standard specification. It comes in an ASCII variant you can read in Notepad and a binary variant roughly 8× smaller for the same model.

Two of those omissions bite real people:

No units. An STL file contains no declaration of whether its coordinates mean millimeters or inches. The numbers are just numbers, and scale is whatever the receiving software assumes. This is the origin of the classic "my print came out 25.4× wrong" story — one tool wrote inches, the next read millimeters. The fix is not clever: set your real-world size in the slicer, every time, and confirm it before you slice.

No color. The standard has none. Non-standard extensions exist — VisCAM and SolidView pack 15-bit RGB into a 2-byte attribute field, Materialise Magics stores a single part color in the header — but they're mutually incompatible and most slicers ignore them. If you need color 3D printing, STL is the wrong carrier; that's a job for GLB or a format your print service names explicitly.

None of this is a defect for the job STL was built for. A single-material FDM or resin print is a closed volume of triangles, and STL describes exactly that, with nothing else to corrupt.

Use STL when: the file is going to a slicer or a print service. For the surrounding workflow — orientation, supports, wall thickness — we wrote that up separately in the guide to sculpting for 3D printing in a browser.

GLB: one file, everything inside

GLB is the single-file binary form of glTF 2.0, the Khronos Group's royalty-free standard for transmitting 3D scenes — and it became ISO/IEC 12113:2022 in 2022. Unlike OBJ, one GLB packs meshes, PBR materials, textures, animations, skins, cameras, and scene structure into one file with no companions to lose.

Khronos pitched glTF as the format for delivering 3D the way JPEG delivers images, and the design follows: it's optimized for loading fast at the destination rather than for editing. Its PBR material model covers metallic/roughness, normal maps, and extensions for clearcoat, transmission, and iridescence, and textures can use KTX 2.0 / Basis Universal supercompression.

The practical case for GLB is the thing OBJ can't do: it's self-contained. No missing MTL, no broken texture paths, no folder of PNGs to zip alongside. Drag one file into an engine, a web viewer, or an AR preview and the model arrives dressed.

Use GLB when: the model is going into a game engine, a website, a 3D viewer, or AR — anywhere it will be displayed rather than rebuilt.

FBX: the rig carrier

FBX is Autodesk's proprietary interchange format, developed by Kaydara and owned by Autodesk since 2006. It exists to move complete scenes between digital content creation applications, and it carries what the others can't: motion and animation data, alongside 2D, 3D, audio, and video content. Files come in binary or a tree-structured ASCII variant.

FBX earns a specific, narrow slot. It started life as a motion-capture interchange format and grew into the connective tissue between Maya, 3ds Max, MotionBuilder, Cinema 4D, and the engines downstream of them. If a character has a skeleton, skin weights, and a walk cycle, and it needs to arrive in another app with all three intact, FBX is the format the industry actually uses.

The honest caveat: it's proprietary. Autodesk publishes a free SDK (Windows, macOS, iOS, Linux) that vendors use to add support, and the format description is exposed via the FBX Extensions SDK — but the format is Autodesk's, and support elsewhere is implemented against their toolkit rather than against a neutral standard. That's a governance difference from glTF, not a reason to avoid FBX when you need it. Where a rig is involved, FBX remains the pragmatic choice as of July 2026.

Use FBX when: rigging or animation has to survive the trip.

What a sculpting app can and can't hand you

Worth saying plainly, because it dissolves half of the format anxiety: a sculpt is geometry. A digital sculpt has no skeleton, no skin weights, and no animation, so the formats that specialize in carrying those have nothing extra to carry yet. That comes later, in whatever tool you rig in.

So the real decision after a sculpt is narrower than the export dropdown suggests:

  • Printing it? STL. (Most slicers take OBJ too — Cura and PrusaSlicer both do, as of July 2026.)
  • Rendering or putting it in an engine? GLB, unless the pipeline specifically asks for FBX.
  • Retopologizing it or moving it to another modeler? OBJ, to keep it simple.
  • Coming back to it tomorrow? Neither — use your app's native format.

That last point is the one people learn the hard way. None of these four formats is a save file. OBJ drops your layers, STL drops everything but triangles, and a round trip through any of them is lossy. In Re:Form, the native .clay file is the master: it snapshots the whole session, sculpt layers included, and saves to your own disk. Exports are a handoff, not a backup. Keep the .clay.

How this maps to Re:Form's plans

Re:Form's Free plan does OBJ import and export, both directions, with the full toolset and up to roughly 12.5 million triangles — no card, no watermark, licensed for personal, non-commercial use. Re:Form Pro, at $9.99/month or $99/year, adds STL, GLB, and FBX import and export, the full 50-million-triangle budget (4× Free), and a commercial license.

Which means the free path to a 3D print is real and complete: sculpt, export OBJ, slice it. STL specifically — the format nobody in a printing community questions — is on the paid side, and we'd rather say that flatly than let you find out at the export dialog. Re:Form is v0.6.5 Alpha and runs in desktop Chrome, Edge, Firefox, or Safari 26 on WebGPU; there's nothing to install, and nothing you sculpt is uploaded. The full plan breakdown lives on the pricing page, and the FAQ covers the rest.

Do I need to convert between these formats?

Usually not — export the right one from the source app instead. Every conversion is lossy in one direction or another: OBJ→STL discards quads and materials permanently, STL→anything can't invent the color it never had, and FBX→GLB may simplify materials. Re:Form exports OBJ on Free and adds STL, GLB, and FBX on Pro, so the export dropdown is the conversion step.

Converters have their place — you'll hit files you didn't author and can't re-export. But when you own the source, re-exporting beats converting, because the source app has the full-fidelity data and the converter only has whatever survived the first export.

One rule that saves the most grief: convert from the richest format you have, never from the poorest. If you hold a GLB and an STL of the same model, and you need an FBX, go from the GLB. The STL threw away everything the FBX would want.

The five-second version

Ask one question — where is this file going? — and the answer falls out:

Destination Export
Slicer / 3D printer STL (OBJ usually fine)
Game engine, web, AR GLB
Rigging or animation pipeline FBX
Another modeler, geometry only OBJ
Tomorrow's you Your app's native file

If you want to try the export end of this without installing anything, Re:Form runs in a browser tab and the Free plan covers the OBJ path end to end. New to sculpting entirely? Start with the first sculpt walkthrough, or read how the browser approach compares to Blender's sculpt mode — Blender is far more mature, and we say so in that post.

FAQ

Is OBJ or STL better for 3D printing?

STL is the safer default — it's the format print services and slicers assume, and no one questions it. But OBJ works in the major slicers too, and it carries the same triangle mesh a printer needs. As of July 2026, Re:Form exports OBJ on the Free plan and STL on Pro ($9.99/month), so a free-plan print workflow is complete without converting anything.

Why did my STL print come out the wrong size?

Because STL files contain no unit declaration — the coordinates are just numbers, with no way to say whether they mean millimeters or inches. One tool exports inches, the next assumes millimeters, and you get a 25.4× error. The format can't fix this. Set the real-world dimensions explicitly in your slicer before every print and confirm them in the preview.

Can I use GLB instead of FBX for game engines?

Often yes. GLB is the single-file binary form of glTF 2.0, a Khronos royalty-free standard (ISO/IEC 12113:2022) that carries meshes, PBR materials, textures, animations, and skins in one self-contained file — and major engines import it. FBX still wins where an established Autodesk-based rigging pipeline expects it, or where a studio's tooling is built around it.