Runs on your device · Your file never leaves your device.
A GLB is a sealed parcel — geometry, materials and textures in one binary file. Some older programs will not open it at all. This unpacks it into an OBJ, a format that many more programs read.
Expect the OBJ to be considerably larger than the GLB it came from. That is not a mistake: GLB stores numbers in a compact binary form, often compressed further with Draco, while OBJ writes every coordinate out as readable text. The shape is identical; only the way it is written down has changed.
The conversion runs on your own machine, which for a 3D file is the whole point: a model is usually a client’s product, a scanned property or something not yet announced. Nothing is sent to a server, so there is nothing to delete afterwards and nothing to take anyone’s word for.
Not for: Keeping animation — OBJ has nowhere to store it. Convert to glTF instead if the clips matter.
Each part of the GLB becomes an object in the OBJ, under its own name, placed where the GLB placed it, with its normals and texture coordinates. The texture coordinates are turned over vertically, because glTF counts image rows from the top and OBJ from the bottom. Corners that triangles share in the GLB stay shared, and a part repeated by instancing is written out once for every copy.
When the GLB has colours or textures, the download is a zip with the .obj, an .mtl file and the texture images. The images are taken out of the GLB with their original bytes, so a JPEG stays the same JPEG. The .mtl holds each material's base colour, roughness, metalness, emission and transparency, and names its colour, normal and emission images. Colours stored per point are written after each point's position. A GLB with no colours or images gives a single .obj.
A rigged character is written in its rest shape as stored in the GLB, not in a frame of any clip, and blend shapes are not applied, so you get the base shape. Cameras and lights are left out. Lines and point clouds are written as OBJ lines and points. A GLB compressed with Draco or meshopt is unpacked first and the full geometry is written.
A GLB is in metres by definition, so the page offers no unit choice: the OBJ's numbers are metres as well, with Y pointing up, as in the GLB.
A GLB stores each position as a 32-bit number, and the OBJ writes each one with all the digits needed to give back exactly that value. A coordinate saved as 0.1 therefore appears as 0.10000000149011612. Those digits are a large part of why the OBJ is so much bigger, and they mean that nothing was rounded on the way.
This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা