3D Soulfile

Units · Scale · Millimetres and inches

Change a file's units.

Resize a model from millimetres to inches, convert it without changing its real size, or fix a unit label that was written wrong. STL, 3MF, OBJ, PLY, AMF, DXF, SVG and STEP.

Your files are never uploaded, stored, or seen by anyone

Drop a file here, or click to browse

stl · 3mf · obj · ply · amf · dxf · svg · step

Working

Which formats store a unit

Not every 3D format records what its numbers mean, and that single fact decides which of the three actions above will work on your file.

FormatStores a unitResizeConvertRelabel
STLNoyes
OBJNoyes
PLYNoyes
3MFYes — model unit attributeyesyesyes
AMFYes — amf unit attributeyesyesyes
DXFYes — $INSUNITSyesyesyes
SVGYes — width and height suffixyesyesyes
STEPYes — LENGTH_UNITyesyesmetric only

Why STL has no units

An STL file is a list of triangles and nothing else. A cube written as 0 to 4 could be four millimetres, four inches or four metres — the file does not say. Every slicer and CAD package simply assumes a unit, and almost all of them assume millimetres. That is why a part modelled in inches lands in your slicer at roughly a twenty-fifth of its intended size.

Because there is no label to correct, the only real fix is to resize the geometry: multiply every coordinate by 25.4 going from inches to millimetres, or divide by it going the other way. OBJ and PLY behave the same way.

When to relabel instead

3MF, AMF, DXF, SVG and STEP all record their unit. If one of those opens at the wrong size, the coordinates are usually correct and the label is wrong — often because an exporter defaulted to millimetres for a model drawn in inches. Relabelling fixes that in one step and leaves the geometry bit-for-bit identical, which is always safer than multiplying every number in the file.

Common factors

ConversionMultiply by
inches → mm25.4
mm → inches0.0393700787
cm → mm10
m → mm1000
feet → mm304.8
microns → mm0.001

Limits worth knowing

Normals are never scaled. A uniform positive scale does not rotate a normal, so STL facet normals, OBJ vn lines and AMF normal elements are left exactly as they were. Scaling them would only cost them their unit length.

DXF drawing settings are left alone. Entity coordinates and radii are scaled and $INSUNITS is updated, but $DIMSCALE and the other drawing-level settings that share group code 40 are deliberately untouched — scaling those would resize every dimension style in the drawing.

STEP is best effort. Points, circles and ellipses are scaled, and unit labels can be rewritten between metric units. Imperial STEP units are conversion-based entities that cannot be rewritten safely without rebuilding part of the entity graph, so that case is refused rather than guessed at.

Rounding is optional and one-way. Coordinates are always computed in 64-bit and written once, so repeated conversions do not accumulate error. If you ask for rounding, that precision is gone from the output — keep the original.

Common questions

Why does my STL open at the wrong size?

STL stores triangle coordinates and no unit at all. Slicers assume millimetres, so a model drawn in inches arrives about 25.4 times too small. Resizing the geometry is the only fix.

How do I convert an STL from mm to inches?

Divide every coordinate by 25.4. Drop the file above, choose "resize", set mm to inches, and download the result. Nothing is uploaded.

What is the difference between resizing and relabelling?

Resizing multiplies every coordinate. Relabelling changes only the unit recorded inside the file and leaves the geometry untouched. Relabelling is right when a file was exported with the wrong unit tag, because it cannot introduce any rounding at all.

Does changing units lose precision?

Binary STL and most PLY files store coordinates as 32-bit floats, so a conversion and its reverse can differ in the last decimal — far below any printable or machinable tolerance. All arithmetic is done in 64-bit and written back once, so error does not accumulate.

Are my files uploaded to a server?

No. The conversion runs inside this page on your own device, in a background thread. You can confirm it by watching your browser network tab while converting.

Something wrong? Tell me

If a file will not convert, or the result looks wrong, I would rather hear about it. Include the format and roughly what you were doing — that is usually enough to reproduce it.

This form is the only thing on this site that contacts a server. It sends what you type above, plus your browser version and which page you were on — those two make bugs far easier to reproduce. Your files are never included and never leave your device. Please do not paste anything confidential.

Other tools