Convert glTF to OBJ

Free, in your browser, with nothing uploaded. Drop your .gltf file in and take the .obj away.

Drop your glTF file here

.gltf in, .obj out. Bring its textures and sidecar files too

Choose files

Nothing is uploaded No account, no email No file size limit

How to convert glTF to OBJ

  1. 01

    Add your .gltf file

    Drag your glTF 2.0 (JSON) file onto the drop zone, or click it to browse. Bring its textures and sidecar files in the same drop and they get wired back up.

  2. 02

    Check the preview

    The model is parsed on your machine and drawn in the viewport, so a wrong axis or a missing texture shows up before you commit rather than downstream.

  3. 03

    Save the .obj file

    Press convert. The Wavefront OBJ file is written in the tab and lands in your downloads folder. No link, no expiry, no account.

What carries over, and what does not

A format conversion is a translation, and translations lose things. Here is what actually happens when a glTF file becomes an OBJ file.

DataglTFOBJSurvives
GeometryYesYesYes
Materials & colourYesYesYes
Texture mapsYesYesYes
Animation & rigsYesNoDropped
Scene hierarchyYesYesYes

Expect to lose

  • OBJ stores no animation, so rigs and takes in your glTF file are not carried over.

None of this is a defect in the conversion; it is what OBJ is specified to hold. If you need the missing data, convert to GLB instead, which carries geometry, PBR materials, textures and animation in a single file.

What our OBJ writer puts in the file

Geometry and texture coordinates, with a usemtl line naming the material on each mesh. No .mtl file is written to define those names, which is a limit of three’s OBJ exporter rather than of the format, so colours and texture images do not survive the trip. Convert to GLB or FBX if the materials matter.

Bring the sidecar files

Drop the .bin buffer and texture images in together with the .gltf.

About glTF 2.0 (JSON)

glTF 2.0 is the Khronos Group’s royalty-free runtime format, often described as "the JPEG of 3D". The .gltf flavour is human-readable JSON that describes the scene graph, and points at binary buffers and image files sitting next to it. It defines a single physically based material model, so a glTF file looks the same in every conforming renderer, which is rare in 3D. Use .gltf when you want to inspect or hand-edit the file, and .glb when you want to ship it.

Commonly seen in: three.js, Babylon.js, Godot, Blender, Adobe Substance 3D. More on the glTF format page.

About Wavefront OBJ

OBJ is the closest thing 3D has to a lingua franca. It is a plain-text list of vertices, texture coordinates, normals and faces, first shipped by Wavefront Technologies in the 1980s and still readable by essentially every 3D application written since. Materials live in a separate .mtl sidecar file, which is why an OBJ often arrives untextured: the .mtl and the image files got left behind. OBJ stores no animation, no rig and no scene hierarchy beyond object and group names.

Commonly seen in: Blender, Maya, Cinema 4D, 3ds Max, ZBrush, MeshLab. More on the OBJ format page.

How the conversion works

When you drop a file in, the bytes are handed to a parser compiled to run in your browser. The glTF data is decoded into an in-memory scene graph of meshes, materials and transforms, which is what the preview is drawing. Pressing convert walks that scene graph back out through a OBJ writer and hands you the resulting bytes as a download.

The whole round trip is local. The page itself is static: it is delivered once and then does its work offline. That is why the privacy claim is checkable rather than a promise.

glTF to OBJ: common questions

Is my glTF file uploaded anywhere?

No. The file is read by code running inside this browser tab and never crosses the network. You can prove it by disconnecting from the internet before you convert, the page keeps working, or by watching the Network tab in your browser's developer tools while you drop a file in.

How large a glTF file can I convert?

There is no server-side limit because there is no server. The practical ceiling is your own machine's memory: a browser tab can usually handle models up to a few hundred megabytes. Very dense scans or scenes with millions of triangles will take a few seconds and a lot of RAM.

Why does my converted OBJ file look untextured?

Because this writer leaves them out. OBJ references an image by filename rather than storing it inside the file, so the images would have to travel separately and land where the file expects them, which is how a converted model arrives broken. Convert to GLB, FBX or USDZ instead if the textures need to stay with the model.

Does it cost anything?

No. There is no fee, no account, no watermark and no per-file limit. Since the conversion runs on your hardware rather than ours, serving this page costs about as much as serving a blog post.

Does it work on a Mac, on Windows or on a phone?

All of them. There is nothing to install: any browser with WebGL 2 will do, which covers current Chrome, Edge, Firefox and Safari on desktop, and Safari and Chrome on mobile. A phone has less memory than a laptop, so a very heavy scene may be the one thing it cannot finish.

Related conversions

Other things to do with the same file.

From glTF:

Other ways to get to OBJ:

Or do something else with it:

Further reading

All posts