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.