glTF (GL Transmission Format) is an open standard file format for 3D models and scenes. Designed by the Khronos Group (the same consortium behind OpenGL and WebGL) glTF optimizes for efficient transmission and fast loading rather than editing workflows. It's often called the "JPEG of 3D" for its role as a web-friendly interchange format.
A glTF file describes a 3D scene as a JSON document referencing binary data. The JSON portion defines the scene graph (hierarchy of nodes), materials, animations, cameras, and metadata in human-readable text. Geometry (vertex positions, normals, texture coordinates) and textures live in separate binary buffers, either as external files or embedded in a single .glb container.
This separation serves a purpose. JSON is parsed quickly and allows partial inspection without loading large amounts of data. Binary buffers store geometry in GPU-ready formats. Here, applications can often upload them directly to the graphics card without transformation. The design prioritizes runtime efficiency over authoring convenience.
glTF 2.0, the current version, standardizes physically-based rendering (PBR) materials using a metallic-roughness model. This means a glTF model looks reasonably consistent across different rendering engines. What you see in Blender should approximate what you see in Three.js or Unity. Extensions add features like compression, transmission (for transparency), and clearcoat effects while maintaining compatibility with basic loaders.
The 3D ecosystem includes dozens of file formats, each optimized for different purposes. FBX dominates film, animation, and game development pipelines. OBJ, one of the oldest formats, stores basic geometry and remains widely supported. USD (Universal Scene Description) handles complex production workflows with sophisticated composition and layering. Native formats like .blend (Blender), .max (3ds Max), and .ma/.mb (Maya) preserves full editing capabilities in their native editor but sometimes falls short between 3D programs.
glTF occupies a specific niche, final delivery. While authoring formats preserve construction history, editing features, and software-specific data, glTF strips all of that away. What remains is what's needed for rendering: geometry, materials, textures, and animation data. As a result, glTF files are smaller and load faster.
Think of it like the relationship between Photoshop documents and JPEGs. One might edit in .psd, preserving layers and adjustment history. But distribute as .jpg, discarding that information in exchange for smaller files and universal compatibility. Similarly, teams may author in whatever DCC tool fits their pipeline, then export to glTF for delivery.
Browser-based 3D libraries have standardized on glTF as the preferred import format. Three.js, Babylon.js, PlayCanvas, and model-viewer all include robust glTF loaders. Google, Facebook, Microsoft, and Adobe support glTF in their 3D products. This broad adoption means most 3D content created today can be converted to glTF and displayed in any modern browser.
The format also enables ecosystem tools. Optimizers such as glTFpack and glTF-Transform compress geometry, quantize attributes, and merge draw calls. Validators check specification compliance. Viewers let non-technical users preview and inspect models. This tooling makes glTF practical as a production pipeline component, not just a specification document.
glTF's scope is intentionally limited. It describes what to render, not how to render it. Advanced features, like procedural materials, particle systems, physics, and scripting, fall outside the specification. The extension system addresses some gaps, such as geometry compression, glass and other translucent materials, as well as GPU-compressed textures. Extensions that prove broadly useful may eventually merge into the core specification.
For streaming scenarios, glTF's monolithic download model can be limiting. The format assumes you fetch the entire asset before rendering begins. This is fine for small models, but problematic for detailed scenes. Progressive loading requires either splitting content into multiple glTF files or using streaming-native formats designed for incremental delivery.
glTF works well as a source format for streaming pipelines. Its structured, well-specified nature makes it straightforward to parse, optimize, and convert. Many streaming systems accept glTF as input, transforming it into representations better suited for progressive delivery while preserving the material definitions and scene structure glTF provides.
The combination makes practical sense: author in your preferred DCC tool, export to glTF as a portable intermediate format, then process through a streaming infrastructure that handles the delivery challenges glTF wasn't designed to solve. glTF's ubiquity as an interchange format makes it a reliable on-ramp to more sophisticated delivery systems.
Streaming video reshaped media consumption; we're doing the same for 3D. Join a small team solving tough spatial streaming, content delivery, and developer experience challenges.
Technical deep-dives on adaptive spatial streaming, the infrastructure challenges of 3D at scale, and what we're learning as we build. Written by the team doing the work.