Convert GLB to glTF Online Free
Unpack a binary glTF (GLB) into the JSON-based glTF format. The scene graph, buffer data, and embedded textures are split into a `.gltf` document plus external `.bin` and image files — easy to inspect, version, and edit.
By ChangeThisFile Team · Last updated: March 2026
ChangeThisFile converts GLB to glTF by unpacking the binary container into its component parts: a JSON `.gltf` scene description, a `.bin` buffer for mesh data, and any embedded images written out as separate files. The scene graph, nodes, meshes, materials, and animations are preserved. Powered by Assimp on the server. Free, encrypted upload, files auto-deleted after conversion.
Convert GLB (Binary glTF) to glTF
Drop your GLB (Binary glTF) file here to convert it instantly
Drag & drop your .glb file here, or click to browse
Convert to glTF instantly
GLB (Binary glTF) vs glTF: Format Comparison
Key differences between the two formats
| Feature | GLB | glTF |
|---|---|---|
| Container | Single binary file | JSON + external .bin + textures |
| File count | 1 | Multiple (1 .gltf + 1+ .bin + textures) |
| Readability | Binary | Human-readable JSON scene description |
| Editing | Requires unpacking | Direct JSON edit possible |
| Distribution | One-file delivery | Multi-file delivery (or zip) |
| Spec | Khronos glTF 2.0 binary container | Khronos glTF 2.0 JSON |
| Compression | Embedded as-is | External files compress independently |
When to Convert
Common scenarios where this conversion is useful
Inspecting a model's scene graph
GLB hides everything in a binary blob. Unpack to glTF JSON to read the node hierarchy, material definitions, and animation channels in any text editor.
Versioning models in git
Plain-text glTF + a separate .bin diffs better in git than a monolithic GLB. You can review scene-graph changes in PRs.
Editing materials or extras
Want to tweak a PBR material parameter or add a `KHR_materials_*` extension? glTF JSON makes that a text edit instead of a binary patch.
Re-packing with a different toolchain
Convert GLB → glTF, edit, then re-pack with `gltf-pipeline` or another tool. Useful when the producer toolchain isn't easy to re-run.
Who Uses This Conversion
Tailored guidance for different workflows
For 3D Developers
- Unpack a GLB to inspect or edit the scene graph in a text editor
- Convert to glTF + textures so designers can swap a texture without touching the binary
- Version your model assets in git as plain-text JSON + separate buffers
For Technical Artists
- Edit a material parameter or extras block in the glTF JSON without re-exporting from Blender
- Swap a base-color texture by replacing the referenced image file
- Strip an unwanted animation channel by editing the JSON directly
How to Convert GLB (Binary glTF) to glTF
-
1
Upload your .glb file
Drop your binary glTF file. Embedded buffers and textures are supported, up to 50MB per upload.
-
2
Server-side unpacking
Assimp reads the GLB, then writes out a `.gltf` JSON scene description, a `.bin` mesh buffer, and any embedded textures as separate image files.
-
3
Download the glTF bundle
The result is delivered as a zip containing the `.gltf`, `.bin`, and texture files. Uploaded GLB is deleted from disk immediately after conversion.
Developers: convert via API →
Frequently Asked Questions
For typical PBR glTF 2.0 scenes (nodes, meshes, materials, textures, animations, skins), yes — the same scene round-trips back to GLB cleanly with `gltf-pipeline` or Assimp. Some `KHR_*` and `EXT_*` extensions may be passed through but not actively validated; verify your specific extension is supported by Assimp's glTF importer.
Yes. Base color, metallic-roughness, normal, occlusion, and emissive maps are written out as separate texture files. The material definitions in the glTF JSON reference them by relative URI.
Standard glTF 2.0 animations (translation, rotation, scale, weights) and skinned meshes are preserved. The keyframe data lands in the `.bin` buffer; the channels and samplers are described in the JSON.
Yes. Positions, normals, tangents, UVs, vertex colors, and joints/weights for skinning all round-trip via the `.bin` buffer with their original layout.
Assimp is a large native library — shipping it in the browser as WASM would mean a multi-megabyte download on every visit. Server-side keeps the page light and handles edge cases better than browser-only libraries.
50MB per upload on the anonymous endpoint, 5 requests per minute per IP. Use the authenticated /v1/convert API for larger files.
Yes. HTTPS upload, ephemeral temp directory, files deleted immediately after the conversion response. Contents are not logged.
Yes — standard glTF 2.0 with external buffer and image references is the universal interchange format. Three.js's GLTFLoader, Babylon's loader, `<model-viewer>`, Blender's importer, and Unity's glTFast all accept this layout.
Use GLB instead — that's its purpose. glTF with external assets is best when you want to edit or version individual components.
Related Conversions
Need to convert programmatically?
Use the ChangeThisFile API to convert GLB (Binary glTF) to glTF in your app or script. Free tier included.
Ready to convert your file?
Convert GLB (Binary glTF) to glTF instantly — free, no signup required.
Start Converting