Free online · No signup · 100% local

glTF to GLB converter

Drop your .gltf (+ .bin + textures) file — we convert it to .glb right in your browser. Files never leave your computer.

Drop your glTF file here
Accepts .gltf (+ .bin + textures) · converts to .glb

Why convert glTF to GLB?

A .gltf file is multi-part by nature — a JSON header plus external .bin buffers and texture files. One missing asset and the whole thing fails to load. GLB collapses everything into a single binary, which makes it the right format for emailing, uploading to a CDN, or dropping into a Git repo.

Who runs this conversion

Web developers packaging assets for deployment, Sketchfab / Khronos glTF-Sample-Assets publishers preparing downloads, and anyone who has been burned by a broken multi-file glTF upload.

Things that commonly go wrong

  • External buffers and textures must be reachable at convert time — pack them in the same folder or zip first before dropping.
  • Draco-compressed glTF stays Draco-compressed in the output GLB; the target engine needs Draco support too.
  • Custom glTF extensions beyond KHR core are preserved as-is. Validate with the Khronos glTF Validator if the target is strict.

Technical note for this tool

Reads the .gltf + sibling assets via Three.js GLTFLoader, then GLTFExporter in binary mode re-packs the scene into a single .glb with buffers and textures embedded.

glTF vs GLB— what's the difference?

glTF.gltf (+ .bin + textures)

The JSON-based twin of GLB. Same spec, just split into a human-readable .gltf plus external .bin and texture files.

Strengths
  • Text-based scene manifest — easy to inspect, diff, and tweak
  • PBR materials, skinning, and animation all supported
  • Industry standard for real-time 3D delivery
Limitations
  • Multi-file output — easy to break when copying one file without the rest
  • Larger than GLB for the same asset
Typical use: Asset authoring, pipelines that need to inspect scene JSON
GLB.glb

Binary glTF — the JPEG of 3D. Self-contained, small, and loads natively on the web, in AR, and in every modern 3D engine.

Strengths
  • Everything (geometry, textures, materials, animations) packed into one file
  • Tiny and fast — designed for streaming and web delivery
  • Native support in Blender, Unity, Unreal, three.js, <model-viewer>, Android ARCore…
  • PBR materials (metallic-roughness) render consistently everywhere
Limitations
  • Binary — not hand-editable
  • Less common in traditional CAD pipelines
Typical use: Web 3D, AR/VR, real-time engines, e-commerce product views

Deeper context on the formats

glTF — where it came from

glTF 1.0 launched in 2015 as the Khronos answer to "the JPEG of 3D." The 2.0 spec in 2017 cleaned up the PBR material model and is the version every modern tool speaks. The split .gltf / .bin / texture layout is the authoring-friendly form; ship GLB to end users.

Watch out for
  • Moving the .gltf without the .bin silently breaks the mesh — always archive the whole folder or export as GLB for delivery.
  • Relative texture paths in the JSON break if the folder is reorganised; prefer GLB once the asset is finalised.
  • Extension authors add features (KHR_materials_transmission, KHR_draco_mesh_compression) that not every loader supports — test in your target runtime.

Real-world use: DCC round-tripping (Blender → glTF → Maya → glTF), build-time pipelines that transform or optimise 3D assets, and documentation of asset provenance where the human-readable JSON is the whole point.

GLB — where it came from

glTF 2.0 was ratified by the Khronos Group in 2017 and quickly became the W3C-recommended format for web 3D. GLB is the "one-file-to-rule-them-all" binary packaging — geometry, textures, animations, and the scene graph all in a single .glb. Adoption was explosive because <model-viewer>, Android Scene Viewer, and every modern game engine landed support almost simultaneously.

Watch out for
  • The PBR material model assumes linear-space textures — DCC tools that export gamma-baked colour maps will look washed-out in web viewers.
  • Draco mesh compression bloats load time if the decoder is not preloaded; turn it off unless you actually need the bandwidth savings.
  • Y-up vs Z-up: glTF is strictly right-handed Y-up. Blender, 3ds Max, and most CAD exports need an axis flip on import or the model lies on its side.

Real-world use: E-commerce product pages (IKEA, Amazon, Shopify 3D), Android AR Quick View, <model-viewer>-powered docs, NFT marketplaces, and real-time configurators. If a 3D asset has to render in a browser tab without plugins, the answer is GLB.

How to convert glTF to GLB

  1. 1
    Drop the .gltf file. If the gltf references an external .bin or textures and loading fails, try loading the whole folder (multi-file selection).
  2. 2
    Inspect the scene in 3D. PBR materials, animations, and skins should all render.
  3. 3
    Click Download .GLB. You now have one self-contained file ready for three.js, Unity, Unreal, or AR.

FAQ

Why pack a .gltf into a .glb?

A .gltf is fragile — it references external .bin and texture files, and one missing file breaks everything. A .glb bundles it all into one binary: simpler to email, embed, or upload to a CDN.

Is anything lost in the conversion?

No — GLB is the same glTF spec, just packaged as binary. PBR materials, animations, extensions, everything carries over exactly.

Will the GLB be smaller?

Usually slightly smaller (saves on base-64 overhead and JSON whitespace), but the main win is operational simplicity rather than size.

My textures are missing after conversion

Your source .gltf probably references textures by a path the browser couldn't find. The converter only sees files you drop. If your .gltf has external textures, pre-embed them in the .gltf (most exporters have a "embedded" option) or use the main 3D viewer which accepts folder drops.

Is anything uploaded?

No. Three.js' GLTFLoader and GLTFExporter handle everything client-side.

Related converters

STEP → GLBSTL → GLBOBJ → GLBFBX → GLB