OBJ to GLB
Convert OBJ with its MTL and textures into one GLB file for the web, AR and game engines. Free, no upload.
Drop your OBJ file here
OBJ to GLB: one file instead of three
This page converts OBJ to GLB in your browser. Drop your .obj together with its .mtl and texture images, check the preview, and download a single GLB with the textures packed inside. Nothing is uploaded.
An OBJ model is rarely one file. The geometry is in the .obj, the materials are in a separate .mtl, and the textures are separate images that the .mtl refers to by name. Move one of them, rename a folder, or upload only the .obj, and the model shows up grey. GLB puts all of it into one binary file, and it is the format web viewers, AR on Android, Godot and Unreal Engine load directly.
How to convert OBJ to GLB
1. Select or drop the .obj, the .mtl and all texture images at once.
2. Check the preview. If it's grey, a file is missing or a texture name doesn't match the .mtl.
3. Click Convert. The .glb downloads straight away, with the geometry, materials and textures in one file.
4. Check the output size, shown afterwards. “Download again” saves another copy.
To get an OBJ back out of a GLB, use GLB to OBJ.
Load the MTL and textures, or get a grey model
The most common OBJ to GLB mistake is converting the .obj on its own. The converter can only pack textures it was given. Select the .obj, the .mtl and every image file at the same time (or drop them all onto the page together). If the preview is grey, stop and add the missing files before converting; a GLB made from a grey preview will be grey too.
The texture file names must match the names written inside the .mtl. Open the .mtl in a text editor if textures are still missing. Lines starting with map_Kd name the color texture. Files exported on someone else's computer sometimes contain full paths such as C:\Users\...\wood.jpg, or names in a different letter case from the actual files. Renaming the image to match is usually the quickest fix.
What carries over
OBJ materials use an older lighting model than glTF, so some of the conversion is a translation rather than a copy:
- Geometry, normals, UVs
- Kept. Smooth and flat shading come across as they were in the OBJ.
- Groups and objects
- Kept as separate meshes in the GLB.
- Diffuse color and texture
- Kept and converted to the base color of a PBR material. Textures are embedded in the GLB.
- Specular and shininess
- The .mtl's Ks and Ns values have no direct equivalent in glTF's metallic-roughness model. Expect the surface to look somewhat different from the original renderer, often more matte. Adjust roughness and metalness in a 3D editor if it matters.
- Size
- Unchanged. OBJ has no units, glTF uses meters. See below.
Scale and orientation
OBJ and glTF are both Y-up, so there is nothing to rotate and no up-axis checkbox for this conversion. An OBJ exported from a Z-up program without converting the axes will come in lying down, in the GLB just as in any other Y-up viewer. You'll see it in the preview; fix the export setting in the original program, rotate the model in a 3D editor, or open it in the OBJ Viewer, set the Up axis switch so it stands upright, and use Download as, which follows that setting.
Units need more care. glTF reads coordinates as meters. An OBJ exported from Blender with default settings is already in meters, but OBJ from CAD or 3D printing software is usually in millimeters, which makes a 200 mm part 200 meters tall in glTF terms. On a web page the camera frames it and nobody notices; in AR it will be huge. The converter doesn't rescale, so scale such models by 0.001 in a 3D editor if real-world size matters.
Frequently asked questions
How do I convert OBJ to GLB with textures?
Select the .obj, its .mtl and all texture images together, or drop them all onto the page at once. Check that the preview shows the textures, then convert. The GLB has the textures embedded.
Why is my GLB grey after converting OBJ to GLB?
The .mtl or the texture images weren't loaded, or their names don't match what the .mtl says. Load all the files together and make sure the preview shows color before converting.
Can I convert an OBJ without an MTL file?
Yes. You get a GLB with a plain default material. Geometry, normals and UVs are kept, so you can add textures later in a 3D editor.
Why does my model look shinier or duller than before?
OBJ's specular settings don't map one-to-one onto glTF's PBR materials. Colors and textures carry over, but highlights are approximated. Tweak roughness and metalness in a 3D editor if needed.
Will the GLB work in AR?
Yes on Android, where Scene Viewer uses GLB. iPhone and iPad need USDZ. Check the size first: an OBJ in millimeters becomes 1000 times too big in AR.
Are my files uploaded?
No. The OBJ, MTL and textures are read by your browser and converted on your device.