Convert OBJ to USDZ
OBJ is what most modelling programs will happily export. USDZ is what an iPhone will happily open. This converts one into the other in your browser, and sets the scale so the model arrives the size you meant.
Drag a 3D file here, or.
This page is set up for OBJ 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.
Scale is the thing that goes wrong
An OBJ does not record what one unit means. A model 200 units wide might be 200 millimetres or 200 metres, and the file has no opinion. A USDZ has the opposite problem: it insists that one unit is one metre, and Quick Look never questions it.
So the two unit boxes below the model are the important part of this page. Set the first to what the OBJ actually used. The file is then written in metres whatever the second box says, because USDZ allows nothing else, and the measurements beside the 3D view switch to metres so you can check before downloading.
Bring the .mtl, and what it gives you
Drop the .obj and its .mtl in together and the material colours are read and written into the USDZ. Without the .mtl the model still converts; it simply arrives grey, which in AR looks like a clay model.
The texture coordinates come across in full. The picture files the .mtl names do not: an OBJ refers to its images by filename, those files are not part of what you dropped in, and nothing here goes looking on your computer for them. If your model needs its texture to look right in AR, convert it to GLB first in a program that packs the images in, then GLB to USDZ here — that path keeps everything.
What Quick Look is good at
Showing somebody an object at its real size without asking them to install anything. A furniture maker sending a chair, a print shop showing a part, a shop putting a product on a page — Quick Look opens straight from Messages, Mail or Safari.
It is a viewer, not an editor. Nobody receiving a USDZ is going to modify it, which is part of why it is a comfortable thing to send.
Quick Look shows the back of every surface
An OBJ exported from a modelling program is often single-sided: each triangle faces one way and is invisible from behind, which is normal in rendering because the camera never gets inside a closed object. Quick Look does not work that way. Somebody looking at your model in AR will walk around it and, if the model is open anywhere, will look straight through the outside into the inside.
What they see then is the inside of the far wall, lit from the wrong side, which reads as a hole. This is the most common reason an AR model looks broken while looking perfect in the modelling program it came from.
The fix is in the source model rather than in the conversion: close the object, or give the open surfaces real thickness. The open-edge count beside the 3D view tells you whether there is anything to worry about — zero means the model is closed and there is no inside to see.
What survives, and what does not
Kept in the USDZ file
- The exact shape of every object in the OBJ
- Material colours from the .mtl file
- Texture coordinates, seams included
- The real size, once you set the source unit correctly
Lost on the way
- The image files the .mtl names — an OBJ keeps those beside it, not inside it
- Specular, bump and other maps from the .mtl
How to convert OBJ to USDZ
Drop the .obj and .mtl in together
Select both at once. Without the .mtl the model arrives grey, which in AR reads as an unpainted clay model.
Set the first unit box to what the OBJ used
This is the one setting that matters. An OBJ records no unit and a USDZ is always read as metres, so the whole scale depends on this box.
Read the measurements in metres
They switch to metres automatically, because that is what the file will say. Check them against the real object before going further.
Check the open-edge count
Zero means closed. Anything else means someone walking around the model in AR can see through it, which is the usual reason an AR model looks wrong.
Download and send it to an iPhone
Message or mail the .usdz to yourself and tap it. Quick Look opens it and the AR button places it in the room.
OBJ and USDZ compared
| Property | OBJ.obj | USDZ.usdz |
|---|---|---|
| File contents | Plain text, one item per line. Materials live in a separate .mtl file beside it. | An uncompressed ZIP holding a USD scene and its textures, aligned so it can be read in place. |
| Geometry | Triangles and polygons. Also stores free-form curves, which almost nothing writes. | Triangles, plus subdivision surfaces that most readers ignore. |
| Units | None. Like STL, the numbers are bare, though exporters usually mean metres. | Centimetres by default, with a metersPerUnit value in the file that can change it. |
| Colour and texture | Material names and texture coordinates, with the materials themselves in the .mtl file. | Physically based materials through UsdPreviewSurface, with textures inside the archive. |
| Separate objects | Named objects and groups, each able to carry its own material. | A full USD scene graph of named primitives. |
| Published by | Wavefront Technologies, 1980s, for the Advanced Visualizer. | Pixar and Apple, 2018, for augmented reality on iOS. |
| Written by | Blender, Maya, 3ds Max, ZBrush and most modelling programs. | Reality Composer, Blender through an add-on, and Apple’s own conversion tools. |
Questions
- Why is the second unit box stuck on metres?
- Because USDZ has nowhere to record a unit. Every viewer reads the numbers as metres, so the file is written in metres and the measurements shown are in metres too. The first box is the one that matters: tell it what the OBJ used.
- My model is grey in AR.
- The .mtl was not included. Select the .obj and the .mtl at the same time, or drag them onto the page together, and the colours come through.
- Can you convert USDZ back to OBJ?
- No. A USDZ holds its scene in the binary usdc form, which has no reader outside Pixar’s library. Reality Converter on a Mac, or Blender, will open one.
- My model looks like it has holes in AR.
- The surfaces are single-sided and the object is open, so you are seeing through the outside to the unlit inside of the far wall. Close the model or give it thickness in the program that made it.
Where to go next
Other things to do with a OBJ file
Other ways to get a USDZ file
Related guides and tools
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- Convert BLEND to OBJGuide
- Convert BLEND to STLGuide
- Convert BLEND to GLBGuide
- Convert USDZ to STLGuide