Guide May 18, 2026

What is glTF? The "JPEG of 3D" Explained

glTF has become the universal transmission format for 3D content on the web. Here's what makes it special, how it works under the hood, and why it earned the nickname "JPEG of 3D."

Why 3D Needed a Universal Format

Before glTF, the 3D industry was fragmented across dozens of incompatible file formats. FBX was proprietary to Autodesk. COLLADA was XML-based and bloated. OBJ was ancient and lacked materials beyond the basics. Every game engine, every web framework, and every content creation tool had its own preferred format, and converting between them meant losing data, rewriting shaders, or manually fixing broken texture paths.

The web made this problem acute. As WebGL matured and browsers gained the ability to render real-time 3D graphics, developers needed a format that was optimized for transmission over HTTP, fast to parse in JavaScript, and capable of representing modern PBR (Physically Based Rendering) materials without vendor-specific extensions. No existing format checked all those boxes.

In 2015, the Khronos Group — the same standards body behind OpenGL, Vulkan, and WebGL — released the first version of glTF. Version 2.0 followed in 2017 with a complete overhaul of the material model, and it quickly became the dominant format for real-time 3D content delivery across web, mobile, AR, and game engines.

What glTF Stands For

glTF stands for GL Transmission Format. The "GL" references the OpenGL family of graphics APIs. The "Transmission" part is key: glTF is designed not as an authoring format (you don't model in glTF) but as a delivery format. It is optimized for the last mile — getting a 3D asset from wherever it was created to wherever it needs to be rendered, with minimum file size and maximum loading speed.

This is exactly why it earned the nickname "JPEG of 3D." Just as JPEG became the universal image format for the web because it balanced quality and file size in a way that every browser and device could handle, glTF occupies the same role for 3D content. It is not the best format for every purpose, but it is the most universally supported format for real-time 3D delivery.

The Structure of a glTF File

A standard glTF asset consists of up to three parts. The first is a JSON file with the .gltf extension. This is the human-readable manifest that describes the scene graph: nodes, meshes, materials, animations, cameras, and lights. It contains no binary data — only references to where binary data can be found.

The second part is one or more binary buffer files with the .bin extension. These contain the actual vertex positions, normals, texture coordinates, animation keyframes, and index data in a compact binary format. The JSON manifest references these buffers by URI and specifies how to interpret the binary data through accessor and buffer-view definitions.

The third part is texture images, typically in JPEG or PNG format, though extensions support KTX2 (a GPU-compressed texture container). Textures are referenced by URI from the JSON manifest and can be stored as separate files or embedded as base64 data URIs.

The Binary Variant: GLB

While the multi-file structure of standard glTF is convenient for development (you can edit the JSON by hand), it is less convenient for distribution. You have to keep multiple files together, and loading them requires multiple HTTP requests. The GLB (GL Binary) format solves this by packing the JSON manifest, all binary buffers, and all textures into a single binary file with a .glb extension.

GLB files are significantly easier to share, upload, and serve. A single file means a single HTTP request, a single drag-and-drop, and no risk of broken references. For production deployment on the web, GLB is almost always the better choice. For development and debugging, the multi-file glTF format is more practical because you can inspect and edit the JSON directly.

PBR Materials: The Material Model

One of the most important aspects of glTF 2.0 is its standardized Physically Based Rendering material model. The core material uses a metallic-roughness workflow, defined by a base color (albedo), a metallic factor, and a roughness factor, optionally driven by textures. This model is compact, well-understood, and maps directly to the material systems used by Unity, Unreal Engine, three.js, Babylon.js, and virtually every modern renderer.

The metallic-roughness model means that a glTF file looks essentially the same no matter where you render it. A chrome sphere will look like chrome in three.js, in Unreal, in Google's Scene Viewer, and in Apple's Reality Composer. This consistency is a huge advantage over formats like FBX or OBJ, where material appearance varies wildly between renderers because the material definitions are ambiguous or engine-specific.

Beyond the core model, extensions add support for clearcoat (car paint, lacquered surfaces), sheen (fabric), transmission (glass, liquids), volume (subsurface scattering for wax, skin), and specular (non-metallic reflections). The extension system means the format can evolve without breaking backward compatibility.

Animations

glTF supports skeletal animations, morph target (blend shape) animations, and simple property animations out of the box. Skeletal animation data is stored as joints and inverse bind matrices, with keyframe data for translation, rotation, and scale stored in binary buffers. Morph targets enable facial expressions and shape deformations without skeleton overhead.

This makes glTF the format of choice for animated characters, product configurators with moving parts, and interactive data visualizations. Animated glTF models load and play in every major WebGL framework, in AR viewers on both iOS and Android, and in game engines without modification.

Key Extensions

The glTF extension ecosystem is one of its greatest strengths. Extensions are categorized as ratified (officially approved by Khronos), multi-vendor (supported by multiple implementations), or vendor-specific. Some of the most important extensions include:

Where glTF Is Used

The reach of glTF extends far beyond web development. E-commerce platforms like Shopify use glTF/GLB for 3D product previews. Google Search displays glTF models in AR directly from search results. Facebook and Instagram support glTF for 3D posts. Android's Scene Viewer uses GLB as its native format for AR experiences. Apple supports glTF import in Reality Composer and through USDZ conversion tools.

In game development, both Unity and Unreal Engine can import glTF assets. Godot uses glTF as its primary 3D import format. Architectural visualization tools, medical imaging software, and digital twin platforms all increasingly support glTF as their interchange format.

View glTF and GLB Files Online

Drop any glTF or GLB file into GeometryViewer to see it rendered with full PBR materials, animations, and textures. Everything runs locally in your browser.

Open glTF Viewer

glTF Is Not Perfect for Everything

It is worth noting that glTF is a rendering format, not a CAD format. It stores meshes (triangulated surfaces), not parametric solid models. You cannot extract dimensions, edit features, or perform boolean operations on a glTF model the way you can with a STEP or IGES file. For engineering and manufacturing workflows, CAD-native formats remain essential. For 3D printing, 3MF is a better choice because it includes build instructions and mesh integrity guarantees.

But for anything involving real-time rendering — web, mobile, AR, VR, games, product visualization, digital twins, or interactive experiences — glTF is the clear standard. If you are delivering 3D content to a screen, glTF should be your default format.