A Guide To 3D Printing File Formats in 2020

This article provides all the basic information you need regarding the commonly used formats for your 3D printing process. If you are a beginner, this is a must read.

Alejandro Auerbach

April 2, 2020

This post provides all the basic information you need regarding the commonly used formats for your 3D printing process. If you are a beginner, this is a must-read. Besides those who are getting started into this world, you should take a peek into this if you’re a CAD software user wanting to export your files for printing or if you are an experienced 3D printing user willing to explore different alternatives to your commonly used formats.

So, the following are the 3D printing formats we chose as a must-know for you:

STL and OBJ: The Standard Rulers


Definitely the most used file format and is now over 20 years old! Standing for “Stereolithography”, “Standard Triangle Language” or “Standard Tessellation Language”, always pops up almost immediately when 3D printing is mentioned. It has been there since the dawn of this technology. Consisting of coordinate points on a 3D space. By connecting the points you get triangles that define the surface for the model. The more triangles used the better the resolution but with a much heavier file as a result.


  • Its standard opensource use (Sometimes referred to as “neutral”). Grants easy exchangeability between software systems and 3D applications such as CAD, engineering, slicing, 3D printing, animation and prototyping.
  • Straightforward, simple and compact for sharing, downloading and opening.
  • Being around since the first 3D printer creation, so there are several years of knowledge and tools for troubleshooting.


  • It does not support textures, colors, materials or any kind of metadata. For 3D printing, it would basically mean that it’s impossible to print objects with more than one color or material using an STL file.
  • By not having metadata, it tends to be common scaling and unit issues during the printing process.
  • Often prone to annoying surface errors during the encoding process.
  • With the 3D printing industry moving forward, it may not be enough using an STL surface to define smoother and smoother finishes that recent improvements now allow with much better efficiency. STL may become obsolete on a near future
STL File Example
An Example of an STL File with the triangulated mesh clearly shown


Also known as Wavefront Object. This format is a wide use standard mesh format you see all around the 3D community. Just as with STL, it consists of geometric surface data but with much more complex characteristics. Being able to encode smoother surfaces by using wider possibilities of polygons. Meaning that the OBJ format is able to create quadrilaterals or hexagons, for example, instead of just triangles. Even it can store continuous freeform spline data and, complementing it with an MTL and a PNG file, you could store color and texture data.


  • Looking at the growing capabilities of 3D printing technology, for getting better resolutions and multicolor possibilities the OBJ seems to be the choice when the STL file is just not enough for the task at hand.
  • Being an opensource standard. Only behind the STL file, it’s fit for sharing and for importing and exporting options available for a huge variety of software systems.


  • Even with its popular use, it falls far behind the STL when compatibility is the matter. It is a common issue to get the surprising realization that your software is unable to read or generate an OBJ file when you were expecting it.
  • Having separate files for texture definition tends to be a messy experience.
  • It may be overly complex for many applications. So, if you are working with a basic 3D printer, with resolution limitations and which only outputs monochromatic results, you better simplify your life and just settle with STL.

Gcode and X3G: From the Slicer to the Printer


The most adopted language used for command codification on computer-aided manufacture. It’s commonly used for tool machines such as CNC mills, laser cutters and, of course, 3D printers. The Gcode is based on a list of instructions where codes labeled with a “G” or an “M” tell the printer, how, when, what to do step by step. Once a model is uploaded into the slicer software and processed, you get the Gcode you’ll need to print. Some examples for commands are:

  • G1: Linear movement
  • M104: Extruder heating command
  • G92: Set position


A proprietary file format used by Makerbot. Being one of the early brands to lockdown their materials and software is important to know that Makerbot printers do not read direct Gcode. To generate an X3G you can do it through the Makerbot Print software or through the open-source GPX tool on other slicers.

AMF vs 3MF: The STL Successor


Standing for “Additive Manufacturing File”, this format is popularly known as “STL 2.0” because of its tessellated triangular arranged surface. Designed specifically as an improvement for the STL shortcomings and obsolescence, the AMF format can encode curved triangles to solve the issue of needing too many triangles to achieve smoothness on curved surfaces. This format is based on an XML language that enables color, texture and metadata storage on a human-readable code and easy to configure and adapt to any particular case.

AMF Curved_triangle
trinagle showing curvature information


  • Highly defined curves without sacrificing simplicity.
  • Stores all the texture, material, color and metadata information without needing additional files as OBJ does.
  • With its stored metadata information, it can precisely scale and unit values to guarantee the printed object expected dimensions. This is a huge improvement from the STL file since it can’t store any kind of additional data besides geometrical shapes, leading to scale issues during the printing process.
  • Enables storing many objects on the same file and their arrangement on the printer bed.
  • Enables easy control over which features and settings may be used on a particular print.


  • Its lack of adoptability. The development for the AMF as a format was, although great from a technological point of view, lacking from a strategy for placing itself as the required successor for the STL file.


Most certainly the main standard file that will define the future for 3D printers. Created by Microsoft, 3MF stands for “3D Manufacture Language”. Just as AMF, it was created with the clear objective of defining the perfect standard as 3D printing technologies are developing their capabilities into something beyond what traditional formats can handle. Most importantly Microsoft established the 3MF Consortium with major 3D software companies such as Autodesk, 3D Systems, Stratasys, Dassault Systemes, Ultimaker, Siemens, Simplify3D, HP and many more to ensure compatibility and adoption as a strong standard and, most likely, being the STL successor.


  • Improves in a comparable manner as the AMF the shortcomings the STL has for this era focusing mainly on completely avoiding common geometry errors, such as overlap triangles.
  • Its space-saving feature allows you to arrange copies of the same model for a single print and saving time and extra steps as a result.
  • Parallel features to the AMF, such as the XML human-readable language, multicolor encoding and huge variety of metadata are in this format.


  • It hasn’t yet achieved the same level of widespread influence the STL has on the community at the present day.
  • There are concerns about how much of an open-source format it is going to be in the future, considering existing criticism on Microsoft for unfair business practices.

Other 3D Printing Formats

Finally, we won’t end this post without taking into consideration that you can print from basically any 3D file, even if they’re not made specifically for printing. The following are some of the most relevant:

VRML/X3D: VRML and its successor X3D are important standard opensource formats for representing 3D interactive vector graphics. Mainly used for renders, sceneries, animation and gaming. By not being made for manufacture, it could be inconsistent when read for 3D printing.

FBX: Is a proprietary file format owned by Autodesk. Used mainly for interoperability between Autodesk software programs. In the same way, as with VRML and X3D, its intended use is for rendering effects.

PLY: Designed to store geometrical data generated by 3D scans. Besides its geometrical elements, it’s able to store many more elements like color, texture maps and transparency.

STEP and IGES: The main CAD standards intended for engineering applications. Instead of polygons, these formats use complex NURBS representations for precision. It may not be the best idea to use STEP or IGES while even the best 3D printers require much simpler data.

If you want to discuss the best file format for your CAD software and 3 dPrinter combination, please get in touch: info@solidprint3d.co.uk | 01926 333 777

Banner Here

How to Choose a 3D Printer

The 3D Printer market has exploded in the last 5 years with everything from DIY kits to £300,000+ machines available to suit various uses, applications & budgets. Therefore, it is important to know how to choose a 3D printer to …

Learn More

Preparing SOLIDWORKS Models for 3D Printing

From SOLIDWORKS to Prototype- Preparing your model for 3D Printing 3D printing is a topic that’s in the forefront every designer and engineers mind nowadays. The ever increasing array of technologies and cost effective solutions available on the market, mean …

Learn More

Printing the Iron Throne

With the final episode of Game of Thrones airing tonight we’ve had the Iron Throne on our minds a lot lately. So much so that we decided to print our own Iron Throne phone stand! Read on to see how.  …

Learn More
Solid Print3D Ltd Building 500, Abbey Park, Stareton, Kenilworth, Warwickshire, CV8 2LY Copyright © 2022 Solid Print3D All Rights Reserved.
01926 333 777 sales@solidprint3d.co.uk