3D File Format Guide: GLB, OBJ, STL, and 3MF
Pick the right 3D export format by destination: GLB for web, AR, and game engines; OBJ for editing; STL for any slicer; 3MF for modern print workflows with real millimeter units.
MakeIt3D exports four 3D file formats from every generated model: GLB, OBJ, STL, and 3MF. GLB is the binary form of glTF and is the only one of the four that carries materials and textures inside a single file, which makes it the right choice for web viewers, AR, and game engines such as Unity, Unreal, and Godot. OBJ is a plain-text mesh format that Blender, Maya, 3ds Max, Cinema 4D, and ZBrush all import, so it is the format to pick when the model is going into a digital content creation tool for editing, retopology, or sculpting. STL stores only surface triangles with no color, no material, and no unit declaration, which is why every consumer slicer accepts it and why scale must always be set manually after import. 3MF is a zipped XML package defined by the 3MF Consortium; the MakeIt3D 3MF export declares millimeter units inside the model file itself, so the mesh arrives in a slicer at a defined scale instead of relying on slicer defaults. Modern slicers including Bambu Studio, PrusaSlicer, OrcaSlicer, and Cura read 3MF natively. Format conversion runs client-side in the browser from the stored GLB master using Three.js exporters, so exporting the same model to a second or third format does not require regenerating it. MakeIt3D does not export FBX, USDZ, or PLY.
Short answer
Choose the format by where the model is going, not by which one sounds best. Going on a screen — a website, an AR view, or a game engine? Use GLB: it is the only MakeIt3D export that carries materials and textures inside the file. Going into Blender, Maya, or ZBrush for editing? Use OBJ. Going to a 3D printer? Use STL for maximum slicer and print-service compatibility, or 3MF if your slicer is modern. 3MF is the better print format of the two, because the MakeIt3D 3MF writes millimeter units into the model file, so the mesh opens at a defined scale instead of an ambiguous one. STL declares no units at all. MakeIt3D exports all four formats — GLB, OBJ, STL, and 3MF — and the conversion runs in your browser from the same stored GLB, so picking one format now does not lock out the others later.
How to choose a 3D export format
Work backwards from the destination. Each step below is one destination and the format it wants. Every MakeIt3D model is stored as GLB, and the other three formats are converted from it in your browser at download time, so you can come back and take a second format whenever the destination changes.
- 1
For the web, AR, or a game engine, export GLB
GLB is the binary packaging of glTF. It carries geometry, PBR materials, and textures inside one file, so there are no external texture paths to break when you move or upload it. Browsers, model viewers, AR viewers, and engines such as Unity, Unreal, and Godot load it directly. GLB is the only MakeIt3D export that preserves color and texture — if the model needs to look like the source image rather than a plain gray solid, GLB is the only correct answer.
- 2
For editing in Blender, Maya, or ZBrush, export OBJ
OBJ is a plain-text mesh format that essentially every 3D application imports without a plugin. Use it when the model is a starting point for retopology, sculpting, boolean work, or manual cleanup. The MakeIt3D OBJ export writes the mesh geometry; it does not bundle textures. If you need the textured version inside your editor, download the GLB as well and import that instead — most modern DCC tools import GLB directly and will bring materials with it.
- 3
For 3D printing on any slicer or print service, export STL
STL is the universal 3D printing format. It stores surface triangles and nothing else — no color, no materials, no units. The MakeIt3D STL export flattens the model first: it walks the scene, applies each mesh's world transform to its geometry, merges every mesh into a single geometry, and writes a binary STL. Binary STL is substantially smaller than ASCII STL and loads faster in a slicer. Because merging happens at export, the file arrives as one solid object rather than a pile of separately positioned parts.
- 4
For 3D printing with real scale and modern slicers, export 3MF
3MF is a zipped XML package rather than a flat triangle dump, and it is the one format where MakeIt3D leads most image-to-3D tools. The export builds a full 3MF container: a [Content_Types].xml, a relationship file, and a 3D/3dmodel.model payload. That payload declares unit="millimeter" on the model element, so the mesh carries a real unit system into the slicer. Bambu Studio, PrusaSlicer, OrcaSlicer, and Cura all read 3MF natively. Choose 3MF over STL whenever your slicer supports it.
- 5
When the destination is undecided, keep the GLB
GLB is the most complete version of the model, because it is the master file the other three are derived from and the only one retaining textures. Keep it, then export the destination-specific format when you actually know the destination. Converting to a second format does not require generating the model again — the browser reads the stored GLB and writes the new format locally.
- 6
Clean or lighten the mesh during export if the target needs it
The export path can run mesh processing before writing the file. Cleanup merges vertices that sit within a very small distance of each other, which closes the hairline cracks AI meshes leave along texture seams, and then removes disconnected fragments: it finds every connected component in the mesh and discards any component smaller than 5 percent of the largest one. Simplification is a separate ratio — 0.5 targets roughly half the triangles, 1.0 leaves the mesh untouched. Clean before printing; simplify before shipping a model to a web page or a game engine.
Format cheat sheet
One line per format, plus the facts that decide most real choices. These are the four formats MakeIt3D exports.
- GLB: geometry plus PBR materials and textures in one binary file. Best for web, AR, and game engines.
- OBJ: plain-text mesh, universally importable. Best for editing in Blender, Maya, 3ds Max, or ZBrush.
- STL: binary triangles only. No color, no materials, no units. Accepted by every slicer and print service.
- 3MF: zipped XML package that declares millimeter units inside the file. Best for modern slicers.
- Only GLB keeps textures. OBJ, STL, and 3MF are geometry-only exports.
- All four formats come from the same generated model, converted in your browser from the stored GLB.
- MakeIt3D does not export FBX, USDZ, or PLY.
Format pitfalls that waste a print or a page load
Most format problems are not bugs — they are a mismatch between what a format can carry and what the destination expected. These are the ones that actually cost people time.
- Exporting STL and expecting color. STL has no color channel at all. If the model must be colored, the answer is GLB, not a different STL setting.
- Trusting the scale of an imported STL. STL declares no units, so a slicer applies its own assumption. Always set the target dimensions in millimeters after import. A 3MF export avoids this entirely by carrying millimeter units in the file.
- Opening an OBJ in Blender and reporting that the textures are missing. The OBJ export is geometry-only by design. Import the GLB instead when you need materials.
- Shipping a full-detail mesh to a web page or a mobile viewer. Slicers handle dense meshes comfortably; browsers and phones do not. Simplify toward roughly half the triangles for web delivery and check the silhouette afterward.
- Simplifying a model you are about to print. Print resolution is limited by the nozzle, not the triangle count, so simplification mostly costs you fine detail without buying anything back.
- Assuming the exporter will fix a broken mesh. Cleanup merges near-duplicate vertices and drops small disconnected fragments; it does not close large holes or repair flipped normals. Use your slicer's repair function or Blender's 3D Print toolbox for those.
- Removing intentional loose parts. The fragment filter keeps anything at or above 5 percent of the largest component, so a genuinely separate part such as a detached lid survives — but a very small deliberate piece can be treated as debris. Check the result before printing.
FAQ
Which 3D file format should I use?
Pick by destination. GLB for websites, AR, and game engines, because it is the only one of the four that carries textures. OBJ for editing in Blender, Maya, or ZBrush. STL for printing anywhere, since every slicer and print service accepts it. 3MF for printing in a modern slicer, because it declares millimeter units inside the file.
What is the difference between STL and 3MF?
STL is a flat list of surface triangles with no color, no materials, and no unit declaration, so the slicer decides the scale. 3MF is a zipped XML package that stores the same geometry with structure and metadata around it, including a unit declaration — the MakeIt3D 3MF export sets millimeters — so the model opens at a defined size. Both slice fine for single-material printing; 3MF removes the scale guesswork.
Why is 3MF better than STL for 3D printing?
Three reasons. It carries millimeter units inside the model file, so scale is unambiguous on import. It is a structured package rather than a raw triangle dump, so it can hold metadata that STL has no place for. And it is the format modern slicers — Bambu Studio, PrusaSlicer, OrcaSlicer, Cura — treat as first-class. STL remains the safer choice only when you need maximum compatibility with older software or a print service that requires it.
Does the OBJ export include textures?
No. The OBJ download contains mesh geometry only. Textures live in the GLB export. If you are editing in Blender or Maya and need the materials, import the GLB instead — most modern 3D applications import GLB directly.
Can I download the same model in more than one format?
Yes. MakeIt3D stores each generated model as a GLB master, and the OBJ, STL, and 3MF exports are converted from it in your browser at download time. You do not need to regenerate the model to take a second format.
Does MakeIt3D export FBX, USDZ, or PLY?
No. The supported export formats are GLB, OBJ, STL, and 3MF. If your pipeline requires FBX, USDZ, or PLY, convert from the GLB or OBJ export in a tool such as Blender.
Why does my exported STL open as a single object instead of separate parts?
That is intentional. The STL exporter applies each mesh's world transform and merges every mesh in the scene into one geometry before writing the file, which is the behavior slicers expect from an STL. If you need the parts separate, export OBJ or GLB, which preserve the scene structure.
What does mesh cleanup actually remove?
Two things. It merges vertices that fall within a very small distance of each other, which closes the hairline seams AI reconstruction leaves where texture islands meet. Then it finds every connected component in the mesh and deletes any component smaller than 5 percent of the largest one, which clears reconstruction debris while keeping genuinely separate parts.
Should I simplify the mesh before exporting?
Simplify for the web, a mobile viewer, or a game engine, where triangle count directly costs frame time; a ratio around 0.5 halves the triangles and is usually visually indistinguishable. Do not simplify for printing — the nozzle, not the mesh, limits printed detail, so you lose fine geometry for no benefit.
Which format should I upload to a 3D printing service?
STL is the safest upload, because every service accepts it. Send 3MF if the service lists it, since the millimeter units travel with the file and remove any chance of a scale mistake. In either case confirm the target dimensions with the service before printing.