SupaVoxel
Free GLB converter

GLB to OBJ Converter, Textures Included

Drop a .glb and download a zip with a Wavefront OBJ, a matching MTL file and every texture as PNG. Free, no account, and the file is processed on your device.

  • OBJ + MTL + PNG zip
  • UVs flipped correctly
  • Separate objects kept
  • Nothing uploaded
Updated October 2026

How to convert GLB to OBJ with textures

  1. 01

    Load the .glb

    Drag it onto the converter above. The panel lists meshes, materials and textures, so you know before converting how many image files the zip will contain.
  2. 02

    Choose zip or bare OBJ

    Include materials & textures is on by default and produces a .zip. Switch it off when you only need geometry and UVs, for example to retopologize or sculpt, and you get a single .obj file.
  3. 03

    Unzip next to each other

    Keep the .obj, .mtl and .png files in the same folder. The OBJ points to the MTL by name and the MTL points to the images by name, so moving one breaks the link.

How GLB materials map to OBJ and MTL

GLB uses physically based materials; MTL predates them by decades. This is exactly what the GLB to OBJ converter writes for each material.

glTF material slotWritten to MTL asResult
Base color texturemap_Kd + PNG fileKept
Base color factorKd red, green, blueKept
Normal mapmap_Bump + PNG fileKept; some importers need it set to normal map by hand
Opacity / alphadKept as a value
Metallic and roughness mapsNot writtenDropped
Occlusion and emissive mapsNot writtenDropped
Texture transforms, clearcoat, other extensionsNot writtenDropped

Material names are made MTL-safe: spaces and symbols become underscores, and duplicates get a suffix so every usemtl line matches.

Why GLB to OBJ textures often come out scrambled, and why these do not

glTF puts the texture origin at the top-left corner of the image. OBJ, like OpenGL, puts it at the bottom-left. A converter that copies UV coordinates across without care produces a model whose texture is mirrored vertically: labels upside down, faces on the back of heads.

This converter flips the V coordinate of every UV when the source is GLB, and leaves the image files exactly as they were. Blender, Maya, 3ds Max, Cinema 4D and ZBrush then map the texture the way it looked in the GLB preview.

The other common failure is missing textures. GLB embeds its images inside the binary, and plenty of tools export only the .obj and forget them. Here every embedded texture is decoded and written as a PNG beside the OBJ. JPEG or WebP textures are re-encoded as PNG, which is lossless, so the zip can be bigger than the GLB you started with.

GLB and OBJ compared

GLB container
One binary file: JSON scene, geometry buffers and images together
OBJ container
Plain text geometry, plus a separate .mtl and image files
Units
GLB: meters by spec. OBJ: none; most apps read meters, so values are kept as they are
Materials
GLB: PBR metallic-roughness. OBJ: classic diffuse, specular, bump
Animation and rigs
GLB: yes. OBJ: no, the mesh is written in its loaded pose
Typical size
OBJ text is several times larger than GLB binary for the same mesh

Tips for using the converted OBJ

Do
  • In Blender, import with File > Import > Wavefront (.obj) and keep the default axis settings; the model stays upright
  • Rebuild metal and roughness in your app's material editor if the look matters
  • Turn off the texture zip when you only sculpt or retopologize
  • Check the result in the OBJ viewer before sending it on
Avoid
  • Rename the PNG files after unzipping; the MTL refers to them by name
  • Expect animation or bones in the OBJ
  • Convert a GLB with millions of triangles to OBJ for the web; keep GLB and use the GLB compressor

When to convert GLB to OBJ

OBJ is the format that almost every 3D program has read for thirty years. Convert when a tool does not import glTF, or imports it badly: older versions of 3ds Max and Maya, ZBrush, Substance workflows that expect OBJ, photogrammetry and retopology tools, and many render farms. It is also handy for a texture artist who wants the maps as loose image files.

Keep the GLB for web, AR, Unity, Godot and Unreal, which all read glTF and keep the full material. For a print, go to GLB to STL instead; for the other direction, OBJ to GLB. The STL vs OBJ guide explains where OBJ fits among printing formats.

FAQ

Frequently asked questions

Is this GLB to OBJ converter free?

Yes, with no account, no watermark and no limit on the number of files. It runs entirely in your browser, so the only limit is 200 MB per file. Large scenes with many 4K textures take longer because each image is decoded and re-encoded as PNG, but nothing is waiting in a server queue.

Does GLB to OBJ keep textures?

Yes, when Include materials & textures is on, which is the default. You get a .zip with the .obj, an .mtl file and one PNG per texture. The base color and normal maps are kept; metallic, roughness, occlusion and emissive maps are dropped because the MTL format has no standard slot for them.

Why is my texture upside down after converting?

That happens when a converter ignores the different UV origins of glTF and OBJ. This one flips the V coordinate for GLB sources, so the texture lines up. If it is still wrong, the importer is probably applying its own flip; look for a flip UV or invert V option in its import dialog and turn it off.

What size will the OBJ be in Blender?

The same as the GLB. glTF files are in meters, the values are written unchanged, and Blender reads OBJ units as meters too. If you need a different size, enter a factor in Scale before converting, such as 100 to turn meters into centimeters for an app that works in cm.

Can I convert an animated GLB to OBJ?

You can convert it, but OBJ has no bones or keyframes, so the animation is dropped and the mesh is written in the pose it loads in. If you need the motion in another app, keep the GLB or convert to FBX on the GLB to FBX page, and use OBJ only for the static shape.

Why is the zip larger than my GLB?

Two reasons. OBJ stores every number as text, which takes several times the space of GLB's binary buffers. And textures that were JPEG or WebP inside the GLB are written as lossless PNG. If size matters, switch off the texture zip, or re-save the PNGs as JPEG and edit the file names in the MTL.

Does it handle GLB files with several objects?

Yes. Each mesh keeps its own object entry and material in the OBJ, so parts like wheels, a body and glass stay separate when you import. Node transforms are baked into the vertex positions, so the parts are already assembled where they were in the GLB.

Start free

Need a textured model first?

The studio turns one photo into a 3D model, textured on paid plans. Download it as GLB and unpack it here with the GLB to OBJ converter, or export OBJ directly once you upgrade.

No credit card required · 3 free credits to start