Convert STL to USDZ
An STL is a part on its way to a printer. A USDZ is that part standing on the table in front of somebody who has an iPhone and no CAD software. This converts one to the other in your browser.
Drag a 3D file here, or.
This page is set up for STL files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
Millimetres to metres, which is the whole difficulty
Nearly every STL is in millimetres, because that is what slicers assume. A USDZ is always read as metres, because that is what Quick Look assumes and there is nothing in the file to say otherwise. Those two facts together are a factor of a thousand.
This page handles it. The file is written in metres whatever the second unit box says, so a 60 mm bracket becomes 0.06 and lands on the table the size of a bracket. What you have to get right is the first box: if your STL was drawn in inches, say so there.
An STL has no colour, so neither will the AR model
STL stores triangles and nothing else — no colour, no material, no texture. The USDZ written from it gets a plain untinted surface, which reads as an unpainted prototype and is honestly the right look for a part that has not been printed yet.
If you want a coloured or textured model in AR, the model has to carry that before it gets here. A 3MF keeps colours; a GLB keeps colours and textures. Both convert to USDZ from this site.
The mesh gets repaired on the way
An STL writes every triangle out separately, so a cube arrives as thirty-six loose points that do not know they touch. Before writing the USDZ, points in the same place are joined, triangles facing the wrong way are turned round, and zero-area triangles are removed.
That matters more than it sounds. An unrepaired mesh shades badly in a viewer — flat faces look lumpy and edges look soft — and Quick Look is a viewer.
Why this is a genuinely useful thing to do with a part
The person you are sending a part to usually cannot open an STL. They do not have a slicer, they do not have CAD, and a screenshot does not tell them how big it is. A USDZ solves all three at once: it opens on a phone with nothing installed, and it appears at its real size on a real table.
That last point is what makes it worth the conversion. A bracket that measures 60 mm on a screen means nothing to most people. The same bracket sitting on their desk next to a coffee cup is immediately understood, and questions about whether it will fit answer themselves.
It is worth doing before a print rather than after. A part that is obviously too big or too small in AR has cost you a minute; the same discovery after a six-hour print has cost you an afternoon and a spool of filament.
What survives, and what does not
Kept in the USDZ file
- The exact shape, triangle for triangle
- The real size, once the source unit is right
- Properly creased normals, so flat faces look flat
Lost on the way
- Nothing that was in the STL: it holds only triangles
- No colour is added, because an STL never had one
How to convert STL to USDZ
Drop the .stl file in
Binary or ASCII, either is read. The mesh is welded and its winding checked before anything else, which is what makes it shade properly in a viewer.
Set the first unit box to millimetres
Nearly every STL is millimetres. If yours was drawn in inches, say so here instead — this box is the entire scale of the result.
Read the measurements, which are now in metres
A 60 mm bracket should read about 0.06. If it reads 60, the source unit is wrong and the part will arrive the size of a room.
Download the .usdz
A plain untinted surface, because an STL carries no colour. In AR it reads as an unpainted prototype, which is what it is.
Send it to whoever needs to see it
Messages, Mail or Files on an iPhone or iPad. They tap it, it opens, and the AR button puts it on their desk at full size.
STL and USDZ compared
| Property | STL.stl | USDZ.usdz |
|---|---|---|
| File contents | Binary or plain text. Binary is an 80-byte header, a triangle count, then 50 bytes per triangle. | An uncompressed ZIP holding a USD scene and its textures, aligned so it can be read in place. |
| Geometry | Triangles only. Curves are approximated when the file is made, and cannot be recovered. | Triangles, plus subdivision surfaces that most readers ignore. |
| Units | None. The file stores bare numbers, and every reader has to guess what they mean. | Centimetres by default, with a metersPerUnit value in the file that can change it. |
| Colour and texture | None. There is no place in the format for a colour, a material or a texture. | Physically based materials through UsdPreviewSurface, with textures inside the archive. |
| Separate objects | One body. Several parts written into one STL become one undivided lump of triangles. | A full USD scene graph of named primitives. |
| Published by | 3D Systems, 1987, for the first stereolithography machines. | Pixar and Apple, 2018, for augmented reality on iOS. |
| Written by | Every CAD program and every slicer, as the common denominator. | Reality Composer, Blender through an add-on, and Apple’s own conversion tools. |
Questions
- My part appears the size of a building.
- The source unit is wrong. A USDZ is always metres, so an STL drawn in millimetres has to be told it is in millimetres — set the first unit box to mm and check the measurements beside the 3D view before you download.
- How do I open it on my phone?
- Send yourself the .usdz in Messages or Mail and tap it. It opens in Quick Look, and the AR button places it in the room. Nothing has to be installed.
- Can I get the STL back out of a USDZ?
- Not here. A USDZ stores its scene in the binary usdc form, which has no reader outside Pixar’s library. Keep the STL — it is the file worth keeping anyway, since it is the one your printer wants.
- Can I add a colour before converting?
- Not from an STL, because there is no colour in the file to start from. Convert the model to 3MF or GLB with colour in another program first, then bring that here — both of those carry colour into a USDZ.
Where to go next
Other things to do with a STL file
Other ways to get a USDZ file
Related guides and tools
- Gridfinity generatorBins and baseplates, any size, built in the browser
- Turn text into an STLType a word and print it, without drawing anything
- Turn an image into an STLA photo or a logo, turned into something you can print
- Lithophane generatorA photo printed as thickness, lit from behind
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- STL to G-codeGuide
- How to convert an STL file to G-codeGuide
- Convert BLEND to GLBGuide
- Convert USDZ to STLGuide