3D Print File Types Explained: What Are They, And What's The Difference?

3D printing is a surprisingly complicated hobby. Those who wish to successfully master the art need to know about the different file types that their digital blueprints can be saved to. Even those who have already taken the time to learn about the various kinds of 3D printers, filaments, resins, modeling tools, and slicing software won't get far if they're unsure whether their 3D printer will be able to read the file on their microSD card. Beginners might need a few tips on which file types they should be using, but even veteran makers might find themselves scratching their heads when a strange file extension crosses their path while the best websites for finding 3D printing files.

3D modeling software allows users to create digital, three-dimensional models which are usually composed of thousands of minuscule, geometric flat surfaces. Once these designs are completed, they are then saved to specific file types just like any other project. There are several different kinds of files that are designed to hold 3D models though. Some of them are specific to particular software while others are more ubiquitous. Getting a handle on which ones do what is essential to figuring out what kind of software you will need in order to access them and whether or not they will need to be altered or converted before they can be used with a given printer. Here are a few of the more notable file types.

STL: The oldest and most common file type

Stereolithography, or STL, is the most common file type that makers use. It's also one of the oldest. According to Adobe, "STL was created by 3D Systems in 1987 as part of their stereolithography printing technology for commercial 3D printers. Since its creation, the STL file format hasn't changed much and is now considered the standard for 3D printing. It still uses triangular tessellation to create the geometric surface of an object, storing details about each triangle, such as each different vertices' coordinates." As old as this technology is, however, it's still incredibly effective and therefore still very popular in maker communities. As the adage goes, 'If it ain't broke, don't fix it.'

STLs are generated by a variety of different computer-aided design (or CAD) files. Blender, FreeCAD, MeshLab, MeshMixer, SketchUp, SculptGL, and 3DSlash are just a handful of applications that save to STLs. The file type is relatively simple as it doesn't represent color, texture, or many other attributes that some more advanced file types might support. But that simplicity may be the very thing that has kept the format so popular. Models made of flat, geometric shapes typically require considerably less computing power to generate, take up less storage space, and are much easier for simple printing machines to construct. Makers will likely come across numerous STL files as they explore the various forums dedicated to the craft. They're frequently posted on print-sharing sites like Thingiverse and MyMiniFactory.

OBJ: The file type that first added color

The second most popular file type after STL is probably the Wavefront OBJ. The US Library of Congress states that "The OBJ file format supports definition of the geometry for object surfaces using polygonal meshes or using freeform curves and surfaces." This is significantly different from the methods used in the creation of STL files. OBJ was developed just a few years after STL, so it's also withstood the test of time for over three decades, but there are a few advantages to it that might make it worthwhile for some makers – provided they have the necessary amenities.

To start, OBJ files are capable of supporting a much more accurate representation of surface textures since they aren't restricted to triangular tessellation. This allows users to create designs with much more intricate and texturally diverse surfaces. The other major advantage that OBJ has over STL is that it supports color encoding using a separate extension called the Material Template Library (MTL). This means that makers will be able to generate prints using different colored filaments.

Of course, not every 3D printer is capable of actually printing this information. Many of them don't even have the ability to extrude more than a single filament at a time, much less the capability to rapidly switch between them. To change colors on a single-filament printer, users would have to pause the print exactly where they want the color change to take place and manually swap out the filament. They also wouldn't be able to target specific areas, such as the eyes or clothes of a model, for color changes.

AMF and 3MF: Cutting edge file types

One of the more recent formats that has gained quite a bit of popularity is called the Additive Manufacturing File format, or AMF. It was originally released in 2011 under the name ASTM as an XML-based format that is considerably more intricate than even OBJ. According to Sculpteo, it was "designed to contain native support for file specifications such as geometry, scale, color, material, lattices, duplicates, and orientation." It can do everything that OBJ can do, but its ability to also work with multiple materials opens up a number of other possibilities as well. It's also considered a more efficient file type since it can store more information in less space.

3MF was designed to be similar to AMF, but more streamlined. It was initially developed by Microsoft to be a file type that offers greater efficiency and capability within a simple-to-use format. All3DP wrote that it enables users "to store everything an AMF file can store but also hold details of printer profiles, manually created supports, G-code commands, such as pauses for filament changes, and much more, including thumbnails and modifiers, all while taking up less space than an STL containing only the geometry." This certainly makes it one of the more impressive formats available, though it hasn't quite reached the popularity of its older and simpler brethren.

Other: Less common file types

There are several other file types out there other than those more common ones that hobbyists and industrial makers alike might encounter.

  • G-Code: This isn't technically a modeling file type. It's an operational language file type used by most 3D printers. It is what numerous slicing software, (such as Slic3r, Ultimaker Cura, and AstroPrint,) export to once the model is ready to print. It gives the 3D printer instructions on everything from movement and temperature to how much filament to extrude and where.

  • FBX: A format that is primarily used to interchange 3D geometry and animation files between various programs. It's primarily used with AR and VR but can be used for 3D print files as well.

  • X3G: The format native to MakerBot's PRINT software. It's used for slicing and editing as well as build preparation but isn't often used by other brands.

  • VRML: Another format that is primarily used in VR. It has wide applications for objects and environments in game design. It has the ability to support specifications such as color, textures, reflectivity, and transparency.

  • STEP and IGES: These two file formats are mostly used in engineering applications. They used a more precise modeling system called NURBS rather than a comparatively simple mesh system in order to achieve more accurate models.

There are others out there as well. These are the most common file types on the market for now, but makers might encounter even more as the technology continues to develop.