glTF to GLB converter

Pack a glTF and the files it names, its .bin and its textures, into one GLB that is easy to share and load. Nothing in the model changes.

Drop a glTF file anywhere on this pageChoose a glTF file to convert it

Nothing is uploaded. Drop the .gltf with its .bin and pictures, or a ZIP of its folder. Nothing in it is lost.

The glTF to GLB converter with an assembly of five parts open, read from a .gltf and its .bin: a plate, a blue block, a shaft and two screws, a size of 0.08 × 0.038 × 0.05 m, and a Download GLB button.
The sample assembly, read from a .gltf and its .bin, ready to save as one GLB.

What the GLB keeps

Everything. A glTF and a GLB are one format, glTF 2.0, in two packages: a .gltf is JSON text that names its data and pictures as files beside it, and a GLB holds the JSON and all the data in one file. The converter reads the files the .gltf names, puts their bytes into the GLB’s binary part, and changes only the lines of the JSON that say where they are.

In the GLB
Meshes, nodes, the sceneAs they are
Materials and texturesAs they are, each picture packed in
Animations, skins, morphsAs they are
Cameras, lights, extensions, extrasAs they are
The .bin filesPacked into one binary, byte for byte
Data written in the .gltf as textTurned back into bytes and packed in
Size and orientationUnchanged: meters, Y up

How to convert a glTF to GLB

  1. Drop the .gltf together with its .bin and picture files, or a ZIP of the folder they are in. They are read in your browser; nothing is uploaded.
  2. Look at the model in the viewer, with its materials and textures. The panel names any picture that was not among the files.
  3. Choose Download GLB. The file is named after the .gltf: scene.gltf becomes scene.glb.

Why pack a glTF

  • One file is easier to share. A .gltf that has lost its .bin opens to nothing, and one that has lost a picture opens without it. A GLB cannot lose either.
  • One file loads faster on a web page: one request instead of one for each file.
  • Many tools take only GLB, as Android’s AR does.

To unpack a GLB again, GLB to glTF writes the .gltf, the .bin and each picture as a file.

The files a glTF names

A .gltf names its data and its pictures by file name, often in a folder of their own (textures/wood.png). The page finds each among the files you drop by its name alone, so the folders do not have to be there. It never asks a server for a file the .gltf names: that would tell the server what your model refers to, and the file is on your device anyway.

Without its .bin, a glTF has no geometry, and the page says so and opens nothing. Without a picture, the model opens without that texture, and a GLB saved anyway names the picture and does not hold it. A glTF compressed with Draco, or with KTX2 textures, does not open in this viewer yet.

GLB, OBJ or STL

A GLB keeps everything in one file. An OBJ keeps the meshes, their names and colors, for programs that do not read glTF. An STL keeps the shape alone, in millimeters, for a slicer. Both, and 3MF and PLY, are saved from the links under the button.

Questions

Is my file uploaded?

No. The files are packed by your own browser. Nothing is sent to a server, and nothing the .gltf names is fetched from anywhere: it is looked for among the files you drop.

Which files do I drop?

The .gltf with the .bin and picture files it names, all at once, or a ZIP of the folder they are in. A .gltf whose data is written inside it, as text, needs nothing else.

What if a texture is missing?

The model opens without it, and the panel says which. Saved anyway, the GLB still names the picture and does not hold it, and a note says so. Drop the pictures with the .gltf to pack them in.

Is anything lost?

No. The GLB holds the same JSON, with the .bin and the pictures in its binary part, and only the lines that say where each lives are changed. Materials, animations, skins, morphs, cameras, lights, extensions and extras are all kept. That holds for one file on its own: with several files on show, the file holds their meshes, names and colors only, and the page says so.

Is the GLB smaller?

Smaller than the files it came from by the text of any data written inside the .gltf, which takes a third more room as text, and otherwise about the same. Nothing is compressed, so every program that reads a GLB reads this one.