GLB vs glTF: Wat is het verschil?
GLB vs glTF gaat over verpakking, niet over data: een .gltf is leesbare JSON met aparte bestanden, een .glb stopt alles in één bestand. Lever GLB, bewerk glTF, converteer verliesvrij.
- Khronos glTF 2.0-specificatie
- Gemeten bestandsgroottes
- Verliesvrije conversie
GLB vs glTF: het korte antwoord
glTF is het open formaat van de Khronos Group om 3D-scènes naar apps en het web te sturen, en GLB is geen ander formaat maar de binaire container ervan. De specificatie definieert beide: een .gltf-bestand is JSON (mediatype model/gltf+json) en een .glb-bestand (model/gltf-binary) verpakt dezelfde JSON plus één binaire buffer in één bestand.
De vraag GLB vs glTF gaat dus over verpakking, niet over kwaliteit. Meshes, PBR-materialen, texturen, animaties, skins en morph targets blijven in beide identiek. Wat verandert, is met hoeveel bestanden je werkt, of je de scènebeschrijving in een teksteditor kunt openen, en hoeveel extra grootte je betaalt als je binaire data in JSON insluit.
Voor bijna iedereen is het antwoord GLB: één bestand om te uploaden, te mailen of in three.js, Babylon.js, <model-viewer>, Blender, Unity of Unreal te laden. Kies glTF met aparte bestanden als je debugt, materiaalwaarden met de hand aanpast of texturen tussen veel modellen op een CDN wilt delen.
Vergelijkingstabel GLB vs glTF
Beide zijn glTF 2.0, dus de meeste rijen zijn identiek. De rijen die verschillen, bepalen welke van de twee je voor je project kiest.
| GLB (.glb) | glTF (.gltf) | |
|---|---|---|
| Geometrietype | Driehoeksmeshes (ook punten en lijnen), nodehiërarchie, skins, morph targets | Identiek |
| Kleur / textuur | PNG- of JPEG-texturen in de binaire chunk; vertexkleuren | Texturen als aparte afbeeldingsbestanden, of base64-data-URI's in de JSON |
| Eenheden | Meters, rechtshandig, +Y omhoog, volgens de spec | Identiek |
| Materialen | PBR metallic-roughness ingebouwd; meer via KHR-extensies | Identiek |
| Bestandsgrootte | Kleinste vorm met één bestand: een header van 12 bytes plus een JSON-chunk en een BIN-chunk | Hetzelfde totale aantal bytes als bij aparte bestanden; ongeveer 33% groter wanneer binaire data als base64 wordt ingesloten |
| Bewerkbaarheid | Binair; je hebt een tool nodig om het te bekijken | JSON is leesbaar voor mensen en te diffen in een teksteditor |
| Softwareondersteuning | three.js, Babylon.js, model-viewer, Blender, Unity, Unreal, Godot, Windows 3D Viewer | Dezelfde loaders; externe bestanden moeten in de juiste relatieve map blijven staan |
| Gebruik voor 3D-printen | Geen printformaat; UltiMaker Cura kan het openen, de meeste slicers niet | Hetzelfde; converteer naar STL of 3MF om te printen |
| Aantal bestanden | 1 | 1 tot veel (.gltf, .bin, afbeeldingen) |
Bron: de glTF 2.0-specificatie van Khronos, secties over bestandsextensies, coördinatenstelsel en eenheden, en het GLB-bestandsformaat.
Hoe een GLB-bestand uit een glTF wordt opgebouwd
Een GLB begint met een header van 12 bytes: de magic bytes glTF, de versie (2) en de totale lengte. Daarna komen de chunks. De eerste is de JSON-chunk, precies dezelfde scènebeschrijving als een .gltf zou bevatten. De tweede is de BIN-chunk, met vertexposities, normalen, UV's, indices, animatie-keyframes en meestal ook de tekstuurafbeeldingen zelf.
Een .gltf houdt die JSON als los bestand en verwijst op twee manieren naar binaire data: relatieve paden naar .bin- en afbeeldingsbestanden ernaast, of data-URI's die de bytes als base64 direct in de JSON coderen. De spec zelf merkt op dat base64 de bytegrootte van de payload met 33% verhoogt, en dat decoderen extra verwerking kost. Dat is de belangrijkste reden dat GLB bestaat.
- GLB: header + JSON-chunk + BIN-chunk, één bestand
- glTF: JSON plus .bin en afbeeldingen naast elkaar
- Ingesloten glTF: één bestand, maar base64 maakt het een derde groter
Bestandsgrootte GLB vs glTF: één model op drie manieren verpakt
We hebben een getextureerd AI-gegenereerd model uit onze galerij genomen, een steampunk robotridder met 500.000 driehoeken, 287.963 vertices en drie PNG-texturen van 2048 x 2048, en elke verpakking gemeten.
| Verpakking | Bestanden | Grootte |
|---|---|---|
| GLB | 1 | 26.9 MB |
| glTF + .bin + PNG-texturen | 5 (.gltf, .bin, 3 PNG's) | ongeveer 26.9 MB in totaal; de .gltf-JSON alleen is ongeveer 2 KB |
| glTF met ingesloten base64-data | 1 | ongeveer 35.9 MB |
| Wat de bytes zijn | Geometrie 15.2 MB, texturen 11.7 MB |
Verpakken maakt niets kleiner. Om het model kleiner te maken, comprimeer je de geometrie (Draco of meshopt), schaal je de texturen omlaag of codeer je ze opnieuw, of verlaag je het aantal driehoeken. Onze GLB-compressor en mesh-simplifier doen dat in je browser.
glTF vs GLB op het web, in AR en in Blender
Op het web is GLB de praktische standaard: één request, één cache-item en elke grote loader leest het. Aparte glTF-bestanden kunnen winnen op een site die veel modellen met dezelfde texturen toont, omdat de browser een gedeelde afbeelding maar één keer downloadt; de implementatienotities van de spec beschrijven die afweging.
Voor AR accepteert Scene Viewer van Android glTF en GLB, terwijl Quick Look van Apple op iPhone USDZ nodig heeft. Publiceer dus beide en converteer GLB naar USDZ voor Apple-apparaten. In Blender lees je beide via File > Import > glTF 2.0, en het Format-menu van de exporter biedt glTF Binary (.glb) en glTF Separate (.gltf + .bin + textures). Kies Binary, tenzij je een reden hebt om dat niet te doen.
Voor 3D-printen is geen van beide de juiste overdracht. Converteer de GLB naar STL of 3MF; texturen worden niet geprint, de vorm wel.
- Web en delen: GLB
- Veel modellen met gedeelde texturen: aparte glTF
- iPhone-AR: converteer naar USDZ
- Printen: converteer naar STL of 3MF
GLB vs glTF: wanneer gebruik je welke?
Beide zijn correcte glTF 2.0. Kies op basis van je workflow.
Een model met iemand delen
Insluiten op een website
Een kapot materiaal debuggen
baseColorFactor, metallicFactor of textuurindices, los het op en herlaad.Een productcatalogus met gedeelde texturen
Versiebeheer
Vermijd: ingesloten glTF
glTF en GLB converteren zonder iets te breken
De conversie is beide kanten op verliesvrij, mits elk gerefereerd bestand aanwezig is.
- Houd de .gltf, .bin en teksturafbeeldingen in dezelfde relatieve mappen als waarmee ze zijn geëxporteerd
- Laad het resultaat in een viewer en controleer of de texturen verschijnen voordat je het deelt
- Onthoud dat glTF in meters werkt: een figuur van 30 mm is 0.03 eenheden, wat in sommige tools piepklein lijkt
- Comprimeer geometrie en texturen voor het web; alleen opnieuw verpakken bespaart niets
- Stuur alleen het .gltf-bestand; zonder het bijbehorende .bin en de afbeeldingen laadt het model leeg of grijs
- Hernoem .gltf niet naar .glb; de binaire header moet door een converter worden geschreven
- Gebruik ingesloten base64-glTF voor grote modellen; het voegt ongeveer 33% aan de binaire data toe
- Verwacht niet dat een slicer texturen uit een GLB print; converteer naar 3MF voor meerkleurige prints
Gratis GLB- en glTF-viewers en -converters
Tools voor beide kanten van GLB vs glTF. Alles draait in je browser zonder inloggen, en je bestanden blijven op je apparaat.
FAQ
Veelgestelde vragen
GLB vs glTF: welke is beter?
Wat is het verschil tussen GLB en glTF in één zin?
Verlies je kwaliteit als je glTF naar GLB converteert?
Waarom is mijn GLB zo groot?
Kan ik een GLB- of glTF-bestand 3D-printen?
Welke eenheden gebruikt glTF?
Welk formaat krijg ik van SupaVoxel?
Openen iPhones GLB-bestanden?
Gerelateerde tools & gidsen
Ga verder
Gratis starten
GLB vs glTF uitgelegd? Maak het model
Zet een foto om in een 3D-model, meestal in minder dan een minuut. GLB-downloads zijn gratis met je eerste 3 credits en zonder creditcard; getextureerde modellen krijg je bij een betaald plan.
Geen creditcard nodig · 3 gratis credits om te starten