3D Printing File Formats: STL, 3MF, OBJ, and More Explained

Not sure which file format to use for 3D printing? This guide covers STL, 3MF, OBJ, AMF, and STEP — what they contain, which slicers support them, and how to convert between them.

Choosing the right file format is one of the most practical decisions you make before sending a model to print. Pick the wrong one and you might lose color information, run into slicer compatibility errors, or end up with a file three times larger than it needs to be. Pick the right one and the entire workflow from design to finished part becomes smoother.

This guide covers the five formats you are most likely to encounter — STL, 3MF, OBJ, AMF, and STEP — explaining what each one stores, which slicers and printers support it, and when to reach for it instead of the alternatives.


STL — The Universal Standard

STL has been the default file format for 3D printing since the 1980s, when it was created by 3D Systems for their stereolithography machines. The name stands for STereoLithography, though it is sometimes retroactively read as Standard Tessellation Language.

The format describes a model as a collection of triangular facets. Each triangle is defined by three corner vertices and an outward-facing normal vector. That is it. There is no color, no texture, no material assignment, no unit information, no author metadata — just a mesh of triangles.

STL files come in two variants: ASCII and binary. ASCII files are human-readable but significantly larger. Binary STL is the practical choice for anything beyond tiny test pieces. A binary STL begins with an 80-byte header, followed by a 4-byte triangle count, and then each triangle encoded as 50 bytes.

Why it is still ubiquitous: Every slicer on the market — Cura, PrusaSlicer, Bambu Studio, Simplify3D, IdeaMaker — can open an STL file. Every FDM printer, SLA printer, and SLS machine accepts it. Repair tools, mesh analyzers, and online printing services default to STL. Its universality is its primary advantage.

Where it falls short: STL cannot store color, texture, or multi-material information. It has no concept of measurement units, so a model created in millimeters in one application might open at a different scale in another. It also tends to produce larger files than modern alternatives when describing the same geometry.

For single-color, single-material FDM or SLA prints, STL remains a perfectly practical choice. For anything more complex, read on.


3MF — The Modern Replacement

The 3D Manufacturing Format (3MF) was introduced in 2015 by the 3MF Consortium, a group that includes Microsoft, Autodesk, Ultimaker, Stratasys, and several other major players. It was designed from the ground up to address STL's limitations while remaining simple enough to be widely adopted.

3MF is an XML-based format packaged as a ZIP archive. Inside that archive you will find the mesh geometry, but also:

  • Color and texture data — including per-face and per-vertex colors
  • Material definitions — multiple materials with distinct properties
  • Multi-component models — separate objects that slicers can treat individually
  • Measurement units — explicitly defined, eliminating scale ambiguity
  • Print metadata — layer height, infill suggestions, and other hints for the slicer
  • Thumbnail previews — slicers can display a preview without fully parsing the geometry

Because 3MF uses ZIP compression internally, files are typically 50–80% smaller than equivalent binary STL files. This matters when you are managing large libraries of models or sending files over slow connections.

Slicer support: PrusaSlicer, Bambu Studio, Cura, Simplify3D 5.x, and Microsoft 3D Builder all support 3MF natively. Windows 10 and 11 can open 3MF files in the Photos app without installing anything. The format is also the native export format for Windows 3D Builder and several CAD packages.

If you are printing multi-color models on a machine with multiple extruders or an AMS system, 3MF is the format that carries that information correctly. STL simply cannot.

When to use it: Any time you have color information, multi-material assignments, or multiple print objects that should be sliced together. Also a good default for any modern workflow, even for single-color prints, because of the smaller file size and explicit unit handling.


OBJ — When You Need Textures

The Wavefront OBJ format predates 3MF by decades and comes from the 3D animation and film industry rather than the manufacturing world. Despite its age, it remains relevant for 3D printing — particularly for full-color photopolymer printing, which relies on UV texture maps applied to the model surface.

OBJ stores geometry as vertices, texture coordinates, and face definitions. Material properties are stored in a companion .MTL file, and texture images (usually JPEG or PNG) are referenced separately. This multi-file structure is both OBJ's strength and its weakness: it can encode rich visual information, but distributing a model requires keeping all associated files together in the correct directory structure.

Full-color printing: Systems like the Stratasys J-series, ProJet CJP series, and Mimaki 3DUJ-553 use UV-mapped textures to reproduce photographic-quality color on printed parts. OBJ with an MTL file and texture atlases is often the required input format for these machines.

File size: OBJ files are stored as plain text, which makes them considerably larger than binary formats. A model that fits in 2 MB as a binary STL might take 8–12 MB as an OBJ. For texture-heavy models, the texture images can dwarf the geometry file itself.

Slicer support: Most slicers can import OBJ, but handling of MTL materials and textures varies widely. For standard FDM printing, OBJ offers no particular advantage over STL. Its value is specifically in workflows that require UV texture mapping.

When to use it: Full-color photopolymer printing, or any workflow where the receiving application needs UV-mapped texture data that 3MF cannot carry in your specific toolchain.


AMF — The ISO Standard

The Additive Manufacturing File Format (AMF) is an XML-based format ratified as ISO/ASTM 52915 in 2013. It was created specifically for additive manufacturing and supports many features that STL lacks:

  • Material grading — smooth transitions between two materials within a single volume
  • Color at the vertex level — per-vertex color without requiring texture maps
  • Curved triangles — higher-order surface patches that reduce faceting artifacts
  • Constellations — grouping multiple objects for batch printing
  • Units — explicitly declared, like 3MF

On paper, AMF is technically sophisticated. In practice, slicer support is limited. Cura supports it; PrusaSlicer support is partial; Bambu Studio does not support it at all as of this writing. The 3MF format largely overtook AMF as the industry's preferred modern format despite AMF's ISO standardization.

When to use it: AMF is worth knowing about but rarely the best choice for a new project. If a service or machine specifically requests AMF, use it; otherwise, 3MF covers the same use cases with broader compatibility.


STEP — From CAD to Print

STEP (Standard for the Exchange of Product Data, ISO 10303) is not primarily a printing format — it is a parametric CAD exchange format used across mechanical engineering, aerospace, and manufacturing. It stores precise mathematical descriptions of geometry using B-rep (boundary representation) surfaces rather than triangle meshes.

This distinction matters for 3D printing because slicers work with triangle meshes, not B-rep surfaces. A STEP file must be converted to a mesh format before it can be sliced. The conversion process — called tessellation — introduces some approximation, but for mechanical parts this is typically imperceptible at printing resolutions.

Why start with STEP: If a part was designed in a parametric CAD tool (Fusion 360, SOLIDWORKS, FreeCAD, CATIA), the STEP file preserves the design intent and dimensional accuracy that the CAD tool computed. Exporting directly from the CAD tool to STL or 3MF may produce slightly different tessellations depending on export quality settings. Sharing the STEP file gives downstream users the full fidelity of the original geometry, including the ability to re-tessellate at higher resolution if needed.

Typical workflow: Design in CAD -> export to STEP for archiving and collaboration -> convert STEP to STL or 3MF for slicing -> print.

Slicer support: Most slicers do not open STEP files directly. PrusaSlicer 2.6+ added experimental STEP import. Fusion 360 can export directly to 3MF. For other tools, a conversion step is required.


Format Comparison Table

FormatColor SupportTexture MapsMulti-MaterialFile SizeSlicer Support
STLNoneNoneNoneMediumUniversal
3MFYes (vertex/face)Yes (limited)YesSmallExcellent
OBJYes (vertex)Yes (UV maps)Via MTLLargeGood
AMFYes (vertex)NoneYes (grading)MediumLimited
STEPN/A (CAD data)NoneN/ASmallVery limited

Which Format Should You Use?

The right format depends on what your model contains and how your print workflow is set up. Here is a straightforward decision path:

For a single-color, single-material FDM or SLA print: STL is fine. It is supported everywhere and introduces no compatibility risk.

For a multi-color or multi-material print: Use 3MF. It carries color assignments and material mappings that STL cannot store. Bambu Studio, PrusaSlicer, and Cura will all read it correctly.

For a full-color photopolymer print with texture maps: Use OBJ with the accompanying MTL and texture image files. Confirm with your print service which format and texture formats they accept before exporting.

For an engineering or mechanical part designed in CAD: Archive the original STEP file. Convert to STL or 3MF for slicing — many CAD tools export 3MF directly with good tessellation quality.

When in doubt: 3MF is the safest modern default. It is smaller than STL, supports more features, and slicer support has reached a point where compatibility is rarely an issue.


How to Convert Between Formats

Converting between these formats is straightforward with the right tool. The key consideration is which conversions preserve all the data your model contains:

  • STL to 3MF: Geometry converts cleanly; no color or texture data to lose since STL has none.
  • OBJ to STL: Geometry converts cleanly; color and texture information is lost.
  • OBJ to 3MF: Geometry and vertex colors transfer; UV-mapped textures may be embedded depending on the tool.
  • STEP to STL or 3MF: Requires tessellation; adjust export quality settings to control faceting.
  • STL to OBJ: Straightforward geometry conversion; no texture or material data to gain.

FabRapid handles all of these conversions directly in your browser. Upload your file, select the output format, and download the result — no software installation required and no files are uploaded to any server. The conversion runs locally using WebAssembly-compiled versions of the same open-source engines (Assimp, Open CASCADE) used in professional CAD tools.


Frequently Asked Questions

Is STL being replaced by 3MF?

Gradually, yes. The 3MF Consortium was founded with the explicit goal of replacing STL as the standard for additive manufacturing. Major slicers increasingly default to 3MF for their native project format. However, STL is so deeply embedded in the ecosystem — in online libraries, print services, and community tools — that it will remain in widespread use for the foreseeable future. Think of 3MF as the better choice for new workflows, not as a format that has made STL obsolete.

Why does my model print at the wrong scale when I switch formats?

STL does not store measurement units. A model designed in millimeters is indistinguishable from a model designed in inches at the STL level — the numbers are the same; only the interpretation differs. When converting to or from STL, make sure your slicer or conversion tool is set to the correct unit assumption. 3MF and AMF both encode units explicitly, eliminating this ambiguity.

Can I send a STEP file directly to a 3D print service?

Some services accept STEP and handle the tessellation themselves, which can be advantageous because they can optimize the mesh for their specific process. Many services, however, require a mesh format (STL, 3MF, or OBJ). Check with your service before submitting. If you need to convert, tools like FabRapid will tessellate the STEP geometry and output STL or other mesh formats with adjustable quality settings.