# How do I compress 3D files

I'm trying to compress different 3D files, but find it difficult to find the right software to compress the file.

What are the most suitable 3D file compressors to compress 3D files like STL, OBJ and STEP?

I have tried Draco, and mac zip compressor.

• These are all binary formats, I believe, which generally don't compress well.
– SiHa
May 14 '20 at 19:50
• Technically STL can be either ASCII or binary. Although the latter is a LOT more common. But even the binary STLs compress pretty well actually. May 15 '20 at 2:12

3D files differ greatly in size and what they contain:

# STL

STL Stereolithography files were invented by 3D Systems to store surfaces. Originally it used ASCII text to store information by naming triplets of vertex positions for each triangle (facet). Since that got too large, newer STL are Binary, which is quite smaller.

Many programs can export them, their size is dependant on the number of surfaces. You can reduce the size of an STL by lowering the number of surfaces at the cost of detail.

# OBJ

OBJ was invented by Wavefront as a means of storing 3D information. It stores the data as plain text by storing vertices, to which they connect and what texture is on surfaces spun up by the vertices.

In comparison to STL, they can be bigger if they include surface information. Programs that can't do STL usually support OBJ. Slicers take either. You can reduce the size of the file by reducing complexity.

# STEP

STEP files don't save 3D items per se, they store instructions for CAD programs to generate a 3D item. This makes them extremely information-dense and can create highly complex items with a somewhat minimum of file size. They also allow us to easily modify the file.

However, STEP files can't be sliced directly and need to be opened by a CAD program.

# Comparison

This is a simple object generated by a mere extrusion, rounding corners, extruding again and a sweep, then copying the item and moving it into position.

But how does that compare as STL and OBJ? Well, the results of this item are rather small in either case, but you get a rough gist of their general comparability.

The STL is 74.3 kB, STEP is 90 kB, OBJ is 95.4 kB.

However, in a maximum compressed .zip archive, things change a lot:

• STEP shrinks by 86 % to 13 kB
• OBJ by 84 % to 16 kB
• STL by a mere 73 % to 21 kB.

## Conclusion

STEP is the best to give out in a zip archive if you want others to edit it. OBJ is a tad smaller in a zip archive than STL, but also can contain additional data.

If a general-purpose compression tool using a good compression algorithm, such as 7zip or gzip (for linux and command line enthusiasts) is not providing good compression it is not likely that your files can be compressed very much.

This applies to a wide variety of binary files beyond just 3D print files. There is always a fundamental limit on compression (since it works by finding patterns and removing redundancy in files), and well-designed binary file formats generally can't be compressed very far.

You may however have some luck with changing the settings on your CAD tool to output less detailed files (though you this is obviously a tradeoff.)