
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 scene | As they are |
| Materials and textures | As they are, each picture packed in |
| Animations, skins, morphs | As they are |
| Cameras, lights, extensions, extras | As they are |
| The .bin files | Packed into one binary, byte for byte |
| Data written in the .gltf as text | Turned back into bytes and packed in |
| Size and orientation | Unchanged: meters, Y up |
How to convert a glTF to GLB
- Drop the
.gltftogether with its.binand picture files, or a ZIP of the folder they are in. They are read in your browser; nothing is uploaded. - Look at the model in the viewer, with its materials and textures. The panel names any picture that was not among the files.
- Choose Download GLB. The file is named after the
.gltf:scene.gltfbecomesscene.glb.
Why pack a glTF
- One file is easier to share. A
.gltfthat has lost its.binopens 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.