Premium apps Part of Renderloom
3D Mesh Converter (STL ↔ OBJ ↔ PLY)
Convert meshes between STL, OBJ and PLY, ASCII or binary, with unit conversion.
Try an example: An inch block from ASCII STL to binary PLY in millimetres · A sphere from binary STL to OBJ at twice the size
How it works
Convert an STL, OBJ or PLY mesh to binary or ASCII STL, OBJ, or binary or ASCII PLY. Convert between millimetres, centimetres, metres and inches, and apply an extra uniform scale factor.
- The source is parsed by the shared mesh engine. STL triangle soups are merged at identical coordinates only, so the geometry is unchanged.
- Coordinates are multiplied by (millimetres per source unit ÷ millimetres per target unit) × the scale factor: 1 in = 25.4 mm, 1 cm = 10 mm, 1 m = 1000 mm.
- Binary STL writes an 80-byte header that never starts with “solid”, a little-endian triangle count and per-triangle normals computed from the winding. OBJ keeps o/g group names; PLY writes x, y, z as float and faces as uchar/int lists.
- ASCII STL and OBJ write the shortest decimal that reads back to the same 64-bit number. Binary STL, binary PLY and ASCII PLY declare 32-bit float coordinates.
Only triangle geometry is converted. Colours, normals, texture coordinates and materials are not carried over. STL keeps no groups; binary STL and PLY store 32-bit coordinates.
Sources
- STL format (StereoLithography Interface Specification) (Marshall Burns, Fabbers.com)
- Wavefront OBJ file format (Paul Bourke)
- PLY polygon file format (Paul Bourke)
- Efficient feature extraction for 2D/3D objects in mesh representation (signed volume) (Cha Zhang and Tsuhan Chen, IEEE ICIP 2001)
Part of Renderloom
-
Renderloom 3D scene & material studio
Shape a scene. Find its light. Keep every idea editable.
How to convert meshes between STL, OBJ and PLY with units
Convert a mesh to binary or ASCII STL, OBJ or PLY, change its units from inches, centimetres or metres, and scale it.
What it is for
3D Mesh Converter rewrites the triangles of an STL, OBJ or PLY file in another of these formats: binary or ASCII STL, OBJ, or binary or ASCII PLY. At the same time it can convert between millimetres, centimetres, metres and inches and apply an extra uniform scale factor.
Typical uses: a CAD export in inches has to go to a slicer that assumes millimetres, a scanner produced a PLY that your modelling program will not open, or an ASCII STL is ten times larger than it needs to be. Only triangle geometry is converted. Colours, normals, texture coordinates and materials are dropped, and quads or larger polygons are split into triangles.
Worked example
The first example is a 2 × 1 × 0.5 inch block saved as ASCII STL, converted to binary PLY with source units set to inches and target units to millimetres. The summary reads "ASCII STL → Binary PLY (little endian): 12 triangles, scale factor 25.4." The conversion table shows 8 vertices, a size of 2 × 1 × 0.5 before and 50.8 × 25.4 × 12.7 after, and a 463-byte output file.
The same block written as ASCII STL is 1,421 bytes, and as binary STL 684 bytes: binary STL always takes 84 bytes plus 50 bytes per triangle.
The second example converts a 30 mm sphere from binary STL to OBJ with an extra scale factor of 2. The result has 642 shared vertices and 1,280 triangles, measures 60 × 60 × 60 mm and is 52,997 bytes. Written as ASCII STL instead, the same sphere takes 377,737 bytes, because every triangle repeats its three corners as text.
How to read the result
The scale factor is the number every coordinate was multiplied by: millimetres per source unit divided by millimetres per target unit, times your extra scale. Size before and Size after are the bounding box in source and target units, so you can see at a glance that the conversion went the right way.
32-bit coordinates says Yes for binary STL and for both PLY variants, which declare float coordinates; tiny rounding below about seven significant digits is normal there. Groups kept says No when OBJ groups would be lost in STL or PLY.
Tips and common mistakes
- STL and PLY carry no unit information. Set Source units to what the model was drawn in, not what the file name suggests.
- Use the extra scale for print scaling, such as 0.5 for a half-size model, and the unit fields only for unit changes.
- Binary STL is the safest choice for slicers. OBJ is the better choice for modelling programs and keeps group names.
- ASCII STL and OBJ write the shortest decimal that reads back to the same number, so converting between them changes no coordinate.
- Run 3D Mesh Analyzer first if the file might be broken; conversion copies holes and flipped triangles unchanged.
FAQ
Does converting STL to OBJ change the geometry?
No. Identical STL corners are merged into shared vertices, which describes the same triangles more compactly.
Why is my PLY slightly different after a round trip?
PLY files from this tool declare 32-bit float coordinates, so values are rounded to float precision.
Are OBJ quads kept as quads?
No. Every polygon is split into triangles; concave polygons are split by ear clipping.
Can I open the converted file in Renderloom?
Yes. Use the "Continue in a premium app" box on the result page, or open the file in Renderloom Mesh Lab to analyze or repair it.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://renderloommeshconverter.usefulweb.app/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://renderloommeshconverter.usefulweb.app/mcp· tool namerenderloom_mesh_converter
Example request
curl -s -X POST https://renderloommeshconverter.usefulweb.app/api/v1/calculate \
-H 'content-type: application/json' \
-d '{…see OpenAPI examples…}'