3D

glTF and GLB: 3D for Web, AR and the Metaverse

Spun a sneaker on a product page, placed a sofa in your room through the phone camera, saw a 3D model right inside Google search? Behind almost all of it stands one format — glTF (or its binary twin, GLB). Let's unpack why it became the "JPEG of 3D" and took over the web, augmented reality and the metaverse.

Photorealistic 3D render of a living room interior with a sofa, kitchen and TV
3D models for websites and AR try-ons are delivered in glTF/GLB — a lightweight, realistic format. Photo: Pexels

What glTF is in plain English

glTF stands for GL Transmission Format — the "transmission format for GL." It was created by the Khronos Group (the same people behind OpenGL and Vulkan) for one job: to quickly deliver 3D models to wherever they'll be shown in real time — the browser, an app, or augmented-reality glasses.

Its creators summed up the format's role in one phrase: the "JPEG of 3D." Just as JPEG became the lightweight, universal way to show an image, glTF became the lightweight, render-ready way to show a 3D scene. It isn't meant for heavy editing — it's a delivery format, the "last mile" to the screen. In 2022 the format's maturity was made official: glTF 2.0 was adopted as the ISO/IEC 12113 international standard.

In short

glTF is an open, compact format for showing 3D in real time. It stores geometry, PBR materials and animation in a form close to what the graphics card expects, so it opens almost instantly and looks the same everywhere.

glTF vs GLB: two faces

Here beginners hit their first fork: .gltf and .glb are not different formats but two wrappers of the same thing. Let's break down the difference, because it matters in practice.

.gltf is a text file in JSON format. It describes the structure of the scene (which objects, where, with which materials), but the "heavy" data — geometry and textures — is often placed in separate files: a .bin buffer and image files. In other words, glTF frequently "travels" as a bundle of several files.

.glb is the binary version, where everything is glued into one file: the JSON description, the geometry and the textures are all baked in. For the web, sharing and AR this is almost always more convenient: a single file is easier to load, won't lose its textures along the way, and makes fewer requests to the server.

PropertyglTF (.gltf)GLB (.glb)
TypeText (JSON)Binary
FilesOften severalOne
Hand-editableYesNo
Delivery convenienceMediumHigh
More common inDevelopmentWeb, AR, sharing

PBR materials: why it looks premium

glTF's main visual trick is built-in support for PBR (physically based rendering). Instead of just setting "the object's color," PBR describes a surface with a set of understandable parameters: base color (albedo), metalness, roughness, a normal map, emission and more.

What does that give you in practice? The material starts behaving like the real thing: metal glints like metal, matte plastic scatters light like plastic, and all of it under any scene lighting. So the same GLB file looks equally realistic on a website, in a game engine and in AR. Unlike old OBJ with its Phong shading, glTF speaks the modern language of materials.

3D render of a loft living room with a mezzanine, seen from above over the kitchen and dining area
Interactive interior tours and real-estate previews are increasingly built with glTF right in the browser. Photo: Pexels

3D in the browser: three.js and model-viewer

glTF took off on the web precisely because every major WebGL engine added native support for it. If you're a developer, you have two levels of simplicity.

The simplest path is Google's <model-viewer> web component. You include one script, add a tag with the address of your .glb, and get a ready interactive model: it spins with the mouse, lights itself and even offers a "view in AR" button. Zero lines of graphics code.

For flexibility, developers reach for full libraries: three.js (the most popular), Babylon.js or PlayCanvas. All of them read glTF/GLB out of the box and let you build complex interactive scenes — product configurators, games, visualizations.

2015glTF released by Khronos
ISOa standard since 2022
1tag for 3D on a page

AR: trying things on through the camera

Augmented reality is glTF's second home. When you tap "view in your room" in an online store and a sofa or sneaker appears on your real floor through the phone screen, here's how it works:

  • On Android, a GLB model launches straight from the browser via the system Scene Viewer — no conversion needed.
  • On iPhone, Apple's native AR Quick Look expects its own format — USDZ. So for iPhones the same model is additionally converted from GLB to USDZ.

The good news: that same <model-viewer> can pick up both versions automatically — you point it at both a GLB and a USDZ, and the component chooses the right one per platform. This exact combo powers the 3D models in Google search that you can "place" in your room straight from the results.

Abstract 3D render of floating red glass polyhedra — an image of virtual space
glTF's openness and lightness make it a handy "building block" for virtual worlds and the metaverse. Photo: Pexels

The metaverse and digital twins

Openness and lightness made glTF a natural "building block" for metaverses and virtual spaces. Avatars, objects and whole scenes are moved between platforms in this very format, because it isn't tied to one vendor and is equally readable by different engines.

The same logic works in industry and e-commerce: product "digital twins," interactive furniture and appliance catalogs, educational 3D models — all of it is best delivered as GLB, because it opens on any device without installing heavy apps.

glTF won not because it can do the most, but because it delivers 3D faster and more simply than anyone — exactly as JPEG once won the race for images.

Draco and compactness

Even while lightweight, glTF can get lighter still. For that there's the Draco extension — a geometry-compression algorithm from Google that shrinks vertices and faces several times over. On top of that, modern textures inside a GLB can be stored in GPU-friendly compressed formats (KTX2/Basis) to save both bandwidth and video memory.

The result: a scene that looks heavy, with realistic materials, can weigh just a few megabytes and open on a phone in a couple of seconds. It's exactly this combination — openness, PBR and aggressive compactness — that explains why glTF became the 3D standard for the web and AR in just a few years.

Prepping assets for a 3D project?

Images, icons and preview textures are easy to convert on FormatZ — right in your browser, fast and with no install. Take a look at the format catalog.

Open all formats

Want to see where glTF fits versus the others? Start with our overview of OBJ, FBX, STL and glTF. And to simply open someone else's GLB on your computer, our guide on how to open 3D models will help.

They are the same format in two wrappers. glTF is a text JSON file that describes the scene and often points to external buffer (.bin) and texture files. GLB is the binary version: the entire scene, geometry and textures are baked into one file. For the web and for sharing, GLB is almost always more convenient: a single file is easier to load and won't lose its textures along the way.
That is the nickname its own creators at Khronos gave it. The point is the format's role: just as JPEG became the lightweight, ubiquitous way to deliver an image to the browser, glTF became the lightweight, render-ready way to deliver a 3D scene. It is a delivery-and-display format, not a heavy editing one — hence the analogy with JPEG rather than PSD.
PBR (physically based rendering) is a way to describe a surface through understandable parameters: base color, metalness, roughness, a normal map and more. Thanks to them, the same material looks realistic under any lighting. glTF supports PBR out of the box, which is why its models look premium and consistent across different engines.
The simplest path is Google's <model-viewer> web component: you include a script and add a tag pointing to your .glb, and it renders an interactive 3D model and an AR button for you. For flexibility, developers use three.js, Babylon.js or PlayCanvas — all of which read glTF/GLB natively.
Yes, with a caveat. On Android a GLB model launches in AR straight from the browser via Scene Viewer. On iPhone, Apple's native AR Quick Look expects the USDZ format, so for iPhones the same model is also converted from GLB to USDZ. The <model-viewer> component can pick up both versions automatically.