glTF™ (GL Transmission Format) is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by applications. glTF minimizes both the size of 3D assets, and the runtime processing needed to unpack and use those assets. glTF defines an extensible, common publishing format for 3D content tools and services that streamlines authoring workflows and enables interoperable use of content across the industry.
Please provide spec feedback and community updates by submitting issues. For quick questions, use gitter.
- Sample models for testing runtime engines and content pipeline tools.
- 100,000+ models under Creative Commons license on Sketchfab (check license for individual models).
- Drag-and-drop validator for verifying correctness of existing glTF files.
Blender exporter for creating and converting models with glTF 2.0.
Preview tools:
Tool | Input | Output | Description |
---|---|---|---|
Khronos Group Blender Exporter | — | Official exporter for Blender | |
Unity Exporter (Sketchfab fork) | — | Unity editor wizard that exports to glTF Format | |
Sketchup export and import | — | Separate extensions for export and import | |
obj2gltf | OBJ |
Command-line converter | |
blendergltf | — | glTF exporter for Blender aimed at streaming scenes to other applications | |
Assimp | Multiple | General-purpose online conversion pipeline | |
PiXYZ Studio | Multiple | Interactively prepare & optimize any CAD data | |
COLLADA2GLTF | COLLADA |
Official command-line converter, with updates for glTF 2.0 in progress | |
Cesium drag-and-drop converter | OBJ , COLLADA |
Online drag and drop converter | |
batchgltf | COLLADA |
Batch converter with GUI | |
FBX-glTF | FBX |
Plug-in and command-line converter | |
jgltf-obj | OBJ |
Java programmatic and command-line converters | |
Docker collada2gltf | COLLADA |
Docker container for Python web service, built on COLLADA2GLTF | |
collada2gltf-web-service | COLLADA |
Node.js web service, built on COLLADA2GLTF | |
Node.js collada2gltf | COLLADA |
Node.js programmatic wrapper for COLLADA2GLTF | |
osm2cesium | OSM |
Extracts buildings in OpenStreetMap and converts them to glTF |
Tool | Status | Description |
---|---|---|
glTF Pipeline | Official Node.js command-line tool for optimizing glTF assets | |
gltf2glb | Python tool to convert glTF to Binary glTF | |
binary-gltf-utils | Node.js tool to convert glTF to Binary glTF |
Tool | Status | Description |
---|---|---|
glTF Validator | Official command-line and drag-and-top tool to validate glTF assets against the specification |
Tool | Status | Description |
---|---|---|
glTF VSCode Extension | Cross-platform JSON schema validation and previews for glTF 2.0 and 1.0 | |
Blender Importer | Blender importer for glTF 2.0 (alpha) |
Application | Status | Description |
---|---|---|
Paint 3D by Microsoft | 3D creation tool | |
Remix 3D by Microsoft | Share and print 3D creations | |
Sketchfab | Platform to publish, share & discover 3D online and in VR | |
Wordpress (plugin) | Inline glTF renderer for WordPress | |
Archilogic | Web-based 3D platform for architecture and interiors | |
Aspose.3D | File Format APIs for creating, editing, and converting over 100 file formats |
To compare WebGL-based glTF loaders, see gltf-test.
Engine | Status | Scope | Related |
---|---|---|---|
three.js (loader) | All | Drag-and-drop viewer, <gltf-model/> component |
|
BabylonJS (loader) | All | Sandbox / viewer | |
Cesium (loader) | All | Drag-and-drop viewer, tutorial | |
OSG.JS (loader) | All | ||
Grimoire.js (loader) | Geometry and materials, partial animation | ||
A-Frame (loader) | All | Experimental glTF 2.0 support | |
PEX (loader) | Geometry and materials | ||
GLBoost (loader) | ? | Examples | |
xml3d.js (loader) | Geometry and materials | ||
X3DOM (loader) | Geometry and materials | ||
xeogl (loader) | Geometry and materials | Tutorial |
Sample | Status | Description |
---|---|---|
Sample glTF loader with WebGL PBR shader | Engine-agnostic reference implementation for PBR shading with WebGL in glTF 2.0 (source code) |
Tool | Status | Description |
---|---|---|
Unity Loader | Unity3D library for exporting, loading, parsing, and rendering glTF assets | |
Godot Game Engine | Godot 3.0 fully supports glTF import |
Tool | Status | Description |
---|---|---|
gltf-viewer | Web component to display glTF models on a website | |
minimal-gltf-loader | A minimal, engine-agnostic JavaScript glTF Loader, with a raw WebGL 2 renderer example | |
gltf-walker | Convenience library for processing glTF | |
RedCube.js | glTF viewer without dependencies |
Tool | Status | Description |
---|---|---|
Tiny glTF loader | Header only C++ glTF parsing library, with Alembic→glTF and CyHair->glTF converters | |
yocto-gltf | Single file, header only, C++ glTF loading/writing automatically generated from the spec | |
Lugdunum3D loader | C++ glTF loader for Lugdunum3D | |
gltfpp | glTF 2.0 loader for C++14 | |
TGen | Simple C++ Tangent Generator | |
Cinder | Work-in-progress glTF importer | |
nvpro-pipeline | Research rendering pipeline by NVIDIA for minimizing CPU cost | |
AssetKit | ? | 3D asset importer/exporter/util library |
Tool | Status | Description |
---|---|---|
Laugh Engine | Vulkan PBR and IBL renderer | |
Lugdunum3D | A modern cross-platform 3D rendering engine built with Vulkan and modern C++14 | |
UX3D Engine | Cross-platform multi-threaded Vulkan 3D Engine with glTF 2.0 import and export |
Tool | Status | Description |
---|---|---|
C# glTF loader | C# reference loader for glTF | |
Aspose.3D for .NET | Import, export, and convert glTF |
Tool | Status | Description |
---|---|---|
gltf | go library for marshaling and unmarshaling glTF |
Tool | Status | Description |
---|---|---|
Loader | A crate for loading glTF 2.0 | |
Viewer | glTF 2.0 Viewer written in Rust |
Tool | Status | Description |
---|---|---|
haxe-gltf | A Haxe library for reading glTF |
- JglTF - Java libraries for glTF
- jgltf-impl - Classes representing a glTF model, auto-generated from the schema
- jgltf-model - Classes for reading, processing, converting and writing glTF
- jgltf-obj - A library for converting OBJ to glTF
- jgltf-viewer - A viewer for glTF, with different implementations:
- jgltf-viewer-jogl - A glTF viewer based on JOGL
- jgltf-viewer-lwjgl - A glTF viewer based on LWJGL version 2
- jgltf-browser - An application combining the above libraries
Tool | Status | Description |
---|---|---|
Orka | The OpenGL 4.5 Rendering Kernel in Ada |
Tool | Status | Description |
---|---|---|
gltf-typescript-generator | CLI to generate a TypeScript interface for glTF |
- gltf-utilities - JavaScript utility library to help load glTF
- wetzel - Generate Markdown documentation from JSON Schema
- glTF tagged questions
- glTF 2.0 Launch by Neil Trevett. June 2017
- glTF Webinar (video, slides) by Marco Hutter. February 2017
- glTF Brief by Tony Parisi, FormVR and Amanda Watson, Oculus. October 2016
- State of glTF 2.0 for WebVR Devs by Don McCurdy, Google. September 2017
- glTF Exporter in three.js and A-Frame by Fernando Serrano. August 2017
- SIGGRAPH 2017 glTF BOF video. August 2017
- glTF 2.0 and Community Update: Tony Parisi, Unity, and Patrick Cozzi, Cesium
- Microsoft update - Paint 3D, View 3D, 3D in Office and one more thing…: Saurabh Bhatia and Gary Hsu, Microsoft
- glTF VSCode editor: Ed Mackey, AGI
- Autodesk Forge and glTF: Nop Jiarathanakul, Autodesk
- Three.js and A-Frame update: Don McCurdy, Google and Ricardo Cabello, Google
- Introduction to geometry compression on the web with Draco: Michael Hemmer and Jamieson Brettle, Google
- WebGL PBR reference implementation: Scott Nagy, Microsoft, and Mohamad Moneimne, Cesium
- Sketchfab update: Aurelien Chatelain, Sketchfab
- glTF 2.0 Export in InstantUV: Max Limper, Fraunhofer
- Physically-Based Rendering in Cesium by Mohamad Moneimne. August 2017
- Why we should all support glTF 2.0 as THE standard asset exchange format for game engines by Juan Linietsky. August 2017
- Exporting glTF 2.0 from Maya LT by Don McCurdy. June 2017
- glTF 2.0: PBR Materials by Saurabh Bhatia. May 2017
- glTF Workflow for a Saturday Night by Diego F. Goberna. April 2017
- 2017 GDC WebGL/WebVR/glTF Meetup YouTube recording. March 2017
- Reach the Largest Gaming Platform of All: The Web. WebGL, WebVR and glTF. March 2017
- PBR-ready glTF in instant3Dhub / instantUV by Max Limper. March 2017
- Call for feedback on glTF 2.0 by Neil Trevett. February 2017
- Improve expressiveness of WebGL with the topic 3D file format glTF now! (in Japanese) by Yuki Shimada(@emadurandal), WebGL advent calendar 2016 at Qiita. December 2016
- A new 3D horizon: glTF import and export with Archilogic by Martin Splitt. December 2016
- Bringing 3D to everyone through open standards by Forest W. Gouin and Jean Paoli. October 2016
- Using Quantization with 3D Models by Rob Taglang. August 2016
- glTF and Mobile VR: Inclusive standards for a 3D world. Amanda Watson, Oculus, WebGL + glTF BOF. July 2016
- glTF Update and Roadmap. Tony Parisi, WebGL + glTF BOF. July 2016
- PBR in glTF: Current State. Max Limper, Johannes Behr, and Timo Sturm, WebGL + glTF BOF. July 2016
- glTF: The Runtime Asset Format for GL-based Applications. July 2016
- glTF working group updates (slides, video). Patrick Cozzi and Tony Parisi, WebGL + glTF BOF. March 2016
- FBX to/from glTF (slides, video). Cyrille Fauvel, WebGL + glTF BOF. March 2016
- Khronos Group glTF Webinar. Neil Trevett, Virtual AR Community meeting. October 2015
- An Introduction to glTF 1.0. October 2015
- The state of WebGL and glTF. Patrick Cozzi, The Graphical Web. September 2015
- glTF ecosystem and mesh compression update. Khronos 3D Formats Working Group, SIGGRAPH 2015. August 2015
- glTF and the WebGL Art Pipeline. Tony Parisi, WebGL Meetup. March 2015
- Writing an FBX importer / Exporter plug-in. Cyrille Fauvel. January 2015
- glTF Tips for Artists. Branden Coker. December 2014
- 3D for the Modern Web: Declarative 3D and glTF. Brian Coughlin. Summer 2014
- glTF: Designing an Open-Standard Runtime Asset Format. Fabrice Robinet et al, GPU Pro 5. May 2014
- Building a WebGL Santa with Cesium and glTF. Patrick Cozzi. December 2013
- glTF update. Tony Parisi. August 2013
- How I got involved in glTF and Khronos. Patrick Cozzi, WebGL Meetup. March 2013
We believe the true usefulness of glTF goes beyond the spec itself; it is an ecosystem of tools, documentation, and extensions contributed by the community. You are encouraged to get involved!