Get an in-depth guide on the most widely used 3D printing file formats — STP (STEP), STL, OBJ, IGES, PLY, and 3DS.
3D printing has opened up new design possibilities for engineers, artists and makers. But to bring these designs to real life, all designs must first exist in a digital format that the 3D printer can understand.
There are many different types of 3D printing files, each with distinct features and suitability for different tasks. Understanding the basics of common file types will help produce successful results.
This article provides an overview of the most popular 3D printing file formats, including STL, STP (STEP), OBJ and more. We’ll discuss the key characteristics of each format, their uses and limitations, tips for working with the files and converting between types.
By learning about the different 3D printing file options, you’ll gain the knowledge to choose the best format for your needs and projects.
What is an STL file?
An STL file is a binary (or ASCII) file used to represent 3D objects for 3D printing and 3D modeling.
STL was said to be an acronym that stands for stereolithography, or “Standard Triangle/Tessellation Language”. That is because the STL file format was originally created by 3D Systems for use with their stereolithography (SLA) 3D printing systems. It defines 3D objects using a surface tessellation – a mesh of interconnected triangles. This triangular description approximates the object’s surface geometry and shape.
More complex designs with fine details and curved surfaces will use more, smaller triangles to adequately approximate those features.
(a) original CAD model, (b) fine resolution, (c) semi-fine resolution, and (d) coarse resolution.
Source: Mouris, Dimitris & Gouert, Charles & Gupta, Nikhil & Tsoutsos, Nektarios. (2020). Peak your Frequency: Advanced Search of 3D CAD Files in the Fourier Domain. IEEE Access. 8. 1-1. 10.1109/ACCESS.2020.3013284.
History of STL file format
The STL file format was originally developed by the Albert Consulting Group in 1987 for use with 3D Systems’ stereolithography (SLA) systems.
For over two decades after its introduction, the STL file format remained relatively unchanged. It is established as a de facto standard file format for transferring 3D models intended for additive manufacturing.
Pros and cons of STL files
- Universal standard – STL has become the de facto standard for transferring 3D models between different software and hardware.
- Simple structure – STL files define models using only their triangular geometry, keeping things simple and standardized.
- Small file size – Binary STL files tend to be more compact, though ASCII STLs can be larger.
- Easy to use: You can use Photoshop to open and edit an STL file.
- Loss of details – STL files only contain geometric data, losing other part details like colors, textures, materials, dimensions, etc.
- Triangles only – STL can only represent surfaces using triangles. So it does not contain an exact mathematical description but a physical approximation of the shape. When a CAD file is exported to an STL file, the original precise mathematical definition is lost.
- No metadata – It doesn’t includes details such as authorship, copyright, and location. Those information can be vital.
Main uses of STL files
- 3D Printing – STL is the most common file format used for 3D printing. Almost all 3D printers can read STL files.
- Sharing 3D Models – STL is a universal format that can be read by many CAD and 3D printing software programs. This allows 3D models to be shared and opened across different systems.
- Rapid Prototyping – STL files are commonly used to 3D print prototypes and concept models early in the design process.
- Basic Visualization – As a simple and universally-supported format, STL files can be used to simply view and rotate 3D models on screen.
STL files – FAQ
How do I open an STL file?
You can open an STL file in 3D modeling software or dedicated STL viewers. Common programs that can open STL files include Autodesk Fusion 360, Solidworks, Ultimaker Cura, slic3r, and MeshLab.
What is the difference between binary and ASCII STL files?
Binary STL files are smaller and faster to read, but cannot be edited in a text editor. ASCII STL files are human-readable text files that have more information, but are larger in size.
How do I fix errors in an STL file?
- Repairing in a CAD program: Some CAD programs like SolidWorks, Fusion 360, etc. have built-in commands to repair STL files. They can fix issues like non-manifold edges, missing faces, overlaps, holes, etc. You can import the STL into the CAD program, run the repair command, and export a fixed STL.
- Using mesh repair tools: There are some standalone mesh repair tools you can use to fix STL files. Tools like MeshLab, Meshmixer, Blender, etc. have functions to identify issues in STL meshes and patch holes, remove overlaps, dissolve edges, etc.
- Manual editing: As a last resort, you can open the STL in a text editor and try to manually fix any syntax errors. This is only recommended for very simple fixes, as STL files can be complex and hard to properly edit by hand.
STP (STEP) files
What is an STP (STEP) file?
An STP file example in STP Viewer.
An STP file, also known as a STEP file, is a 3D file format used to represent 3D CAD (computer-aided design) data. The abbreviation STEP stands for the Standard for the Exchange of Product model data.
STP files contain both the geometry and properties of a 3D CAD model, allowing them to fully represent the design intent.
History of STP (STEP) file format
The STP/STEP standard was developed in the 1980s to enable the exchange of data between different computer systems.
The first official specification of the STEP standard was published in 1994 as ISO 10303-1 by the International Organization for Standardization (ISO). It has undergone several revisions since then.
Today, STEP has become a widely adopted and international standard for transferring CAD data between different systems and software applications.
STP (STEP) file extensions
stp, .step, .stpnc, .p21, .210
Pros and cons of STP (STEP) files
- Detailed information: STP files can contain a wide range of product data like dimensions, tolerances, materials, colors, and CAD features.
- Supports multiple geometry types: STP can represent wireframe, surface and solid models, as well as NURBS curves.
- International standard format: The STEP standard ensures wide compatibility and interoperability between different CAD systems.
- Supports assemblies: STP files can represent the hierarchical structure of assembled parts.
- Large file sizes: Due to the amount of information contained, STP files can be much larger than STL files, often resulting in slow read/write speeds.
- Complex format: The STEP standard is complex and some older CAD systems may not be able to fully interpret all STP files.
- Limited 3D printing utility: While STP files can be converted to STL, they are not natively supported by most 3D printers.
Main uses of STP (STEP) files
- CAD data exchange – STP files can contain detailed CAD data including geometry, dimensions, tolerances, features, and properties. This makes them useful for transferring CAD models between different systems.
- Engineering analysis – The dimensions, tolerances and other technical data in STEP files make them suitable for performing engineering analyses like FEA, CFD, tolerance analysis, etc.
- Technical documentation – STP files can be used to generate bills of materials, assembly instructions and other product documentation.
STP (STEP) files – FAQ
Why recommend converting STEP to STL before printing
STL is a simpler format specifically designed for 3D printing. STEP files contain more complex solid modeling and CAD data that is not needed for 3D printing. Converting to STL strips out this extra data and focuses just on the surface geometry required to print the model.
Besides, STL is a more universally supported, smaller in size, and easier to repair and optimize.
How to Convert STEP Files to STL
Open the STEP file in CAD modeling software. Most common CAD programs like SolidWorks, Autodesk Inventor, or PTC Creo can read and import STEP files.
Select “Export” or “Save As” from the file menu.
In the “Save as type” dropdown, select “STL (*.stl)” as the file format.
In the “STL options” or export settings, choose:
- Binary STL format (recommended)
- Angles in degrees
- Set the desired tessellation (facets or triangle count)
- “Self-Watertight” if available
- “High quality” or “Fine” tessellation
- Click “Save” and name the exported STL file.
Open the exported STL file in your 3D printing software and inspect for any issues. If needed, repair the STL file using netfabb, Meshmixer, or other repair tools.
Re-export the repaired STL and import into your 3D printer’s slicing software for printing.
What is an OBJ file?
Developed by Wavefront Technologies, OBJ file is a 3D model file format that contains the topology of 3D models.
OBJ files store the xyz positions of vertices, uv positions of the texture coordinate vertices, normals and faces that make up the surface geometry.
Pros and cons of STP (STEP) files
- Simple structure: OBJ files use a text-based format that is human readable.
- Widely supported: The OBJ format is supported by most major 3D modeling and 3D printing software.
- Associated MTL files: The accompanying .mtl files provide compatibility with basic materials and textures.
- Large file sizes: The text-based nature of OBJ files means they can become very large for complex 3D models.
- Lack of information: OBJ files only contain basic geometry and topology data. They lack any dimensions, tolerances, features or properties. They also do not store any additional information like hierarchy, pivot points, or animation data.
- Curved surfaces approximated: Curved surfaces in OBJ files are represented using polygons, not true curves.
Main uses of OBJ files
- 3D Printing – Although not natively supported by all 3D printers, OBJ files can usually be converted to formats like STL for 3D printing.
- Game Development – Game engines can import OBJ files to create game assets from 3D models. Associated MTL files define materials.
- Virtual Reality/Augmentation – Some VR/AR software can import OBJ files to create virtual objects and environments.
- Animation – Some animation software packages can import OBJ files and define skeletons/rigs to create animations from the geometries.
IGES (Initial Graphics Exchange Specification) is an early CAD data exchange file format, originally developed in the 1980s and hasn’t changed a lot since 1996.
IGES files represent both 2D and 3D CAD models in a format that is neutral – i.e. independent of any specific CAD system. It supports various geometry types like wireframe, surface and solid models, containing both the geometry and manufacturing information of CAD models, including dimensions, tolerances, and layers.
While once widely used, IGES has become less common due to the increased capabilities of newer formats like STEP.
IGES files are still useful for transfering basic CAD data between different software, especially older programs. Most CAD programmes and any text editor will open an IGES file, both on Windows and Mac.
PLY (also known as Stanford Triangle Format) is a simple 3D geometry format that stores triangular meshes and texture coordinates.
PLY files define vertices and polygons that make up a mesh, and can also contain color information. But they lack any other properties.
This format is popular for representing 3D scan and photogrammetry data. They are also used in computer vision applications.
The simplicity and straightforward structure of PLY files means they are widely supported by 3D modeling, CAD, and 3D printing software. However, PLY’s lack of details beyond geometry and textures limits its uses compared to formats like STEP and STL.
3DS is a 3D model file format used mainly for CAD, visualization and animation. It was developed by 3D Studio (now Autodesk 3ds Max).
3DS files can contain meshes, NURBS curves, materials, lighting effects, and animation data (keyframes). However, they do not contain dimensions, tolerances, engineering properties, or assembly information.
While 3DS was widely supported by 3D modeling, animation, and game development software in the 1990s and 2000s, its use has declined in recent years due to the popularity of formats like FBX, OBJ and glTF.
3DS files can still be useful for transferring basic 3D geometries and animation data between some older CAD and graphics software programs.
Unionfab 3D printing and on-demand manufacturing service supports a wide range of common 3D file formats, including all formats mentioned in this article — STL, OBJ, STEP, IGES, PLY and 3DS. We also have experience working with 3D models in other, less widely supported formats.
If you have an existing 3D file that is not in a preferred format for 3D printing or manufacturing, our in-house designers can help modify or convert your file while minimizing any potential loss of data.
For more information about our file and design requirements, please refer to our Design Specification.