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.
From github.com/javagl/gltfOverview/
Japanese translation by Takuto Takahashi
- Sample models for testing runtime engines and content pipeline tools.
- glTF-Asset-Generator provides assets for robust importer validation.
- 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.
- glTF Tutorial Series
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 | |
3DS Max Exporter | — | Export glTF files using BabylonJS plugin for 3DS Max 2015 or later | |
Unity Exporter (Sketchfab fork) | — | Unity editor wizard that exports to glTF Format | |
Unity COLLADA & glTF Exporter Unity 5 & Unity 2017 | — | Commercial unity asset store editor extension to export COLLADA and glTF via collada2gltf | |
Sketchup export and import | — | Separate extensions for export and import | |
PBR extension for SketchUp | SKP |
PBR Material Editor, glTF Exporter, PBR Viewport | |
obj2gltf | OBJ |
Command-line converter | |
blendergltf | — | glTF exporter for Blender aimed at streaming scenes to other applications | |
BlackThread.io converter | Multiple | Online drag and drop converter powered by three.js | |
Assimp | Multiple | General-purpose online conversion pipeline | |
PiXYZ Studio | Multiple | Interactively prepare & optimize any CAD data | |
FBX2glTF (Facebook) | FBX |
Command-line converter | |
FBX2glTF (ClayGL) | FBX , COLLADA , OBJ |
Python tool to convert models to glTF2.0 format, model is parsed by FBX SDK. | |
glTF API | FBX , COLLADA , OBJ |
Web API to convert OBJ, FBX and COLLADA files to glTF or GLB | |
Simplygon Cloud | Multiple | Cloud based asset optimization pipeline | |
Verge3D | — | glTF 2.0 exporters for Blender and 3ds Max | |
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 (Cyrillef) | 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 | |
cqparts | STEP |
Python CAD for programmers (import / export doc) (GLTFExporter) |
Tool | Status | Description |
---|---|---|
gltf-import-export | NPM package to convert between glb and gltf files | |
makeglb | Drag and drop browser tool to convert gltf to self contained binary glb | |
gltf-toolkit | Collection of tools and libraries to modify and optimize glTF assets for Windows Mixed Reality home | |
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) | |
Blender Importer | glTF 2.0 Blender Importer |
Tool | Status | Description |
---|---|---|
BabylonJS Sandbox | Drag-and-drop online viewer for model preview and debugging, using BabylonJS | |
three.js glTF Viewer | Drag-and-drop viewer (web and desktop) for model preview and debugging, using three.js | |
three.js Editor | Editor with drag-and-drop support | |
Clay Viewer | Drag-and-drop glTF2.0 viewer with high quality rendering and PBR material editing. | |
glTF Animation Visualizer | Frame-by-frame debugging for glTF animations. | |
VirtualGIS Viewer | Cesium-based glTF viewer. | |
GLTFQuickLook | macOS QuickLook plugin for glTF files | |
glTF Viewer | Android and iOS apps for glTF 2.0 viewing and link sharing: supports embedded glTF 2.0 files and links | |
DirectX glTF Viewer | DirectX11, C++ desktop app for loading and rendering glTF files |
Application | Status | Description |
---|---|---|
Paint 3D by Microsoft | 3D creation tool | |
Remix 3D by Microsoft | Share and print 3D creations | |
Use .glb files to create 3D Posts | ||
Sketchfab | Platform to publish, share & discover 3D online and in VR | |
Wordpress (plugin) | Inline glTF renderer for WordPress | |
Modo by Foundry | 3D modeling, texturing & rendering tools | |
Substance Painter by Allegorithmic | 3D painting software with glTF 2.0 export | |
Marmoset Toolbag | 3D real-time rendering, animation, and baking suite | |
Aspose.3D | File Format APIs for creating, editing, and converting over 100 file formats | |
3D Slash | Web-based and app-based 3D modeling imitating a stonecutter | |
Archilogic | Web-based 3D platform for architecture and interiors | |
Plex.Earth | Connects AutoCAD with Google Earth and the Real World. |
To compare WebGL-based glTF loaders, see gltf-test.
Engine | Status | Scope | Related |
---|---|---|---|
three.js (loader) | All | <gltf-model/> component |
|
BabylonJS (loader) | All | ||
Cesium (loader) | All | Drag-and-drop viewer, tutorial | |
OSG.JS (loader) | All | ||
Grimoire.js (loader) | Geometry and materials, partial animation | ||
Hilo3d (loader) | All | Doc | |
A-Frame (loader) | All | Doc | |
xeogl (loader) | Geometry and materials | Tutorial | |
ClayGL (loader) | All | Examples | |
Verge3D (loader) | All | ||
ReactVR | All | ||
CZPG (loader) | All | Examples | |
PEX (loader) | Geometry and materials | ||
GLBoost (loader) | ? | Examples | |
xml3d.js (loader) | Geometry and materials | ||
X3DOM (loader) | Geometry and materials |
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 |
---|---|---|
UnityGLTF | Unity3D library for exporting, loading, parsing, and rendering glTF assets | |
Godot Game Engine | Godot 3.0 fully supports glTF import | |
jMonkeyEngine | jME 3.2 supports glTF 2.0 |
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 | |
THREE.GLTFLoader | Loads glTF assets into a three.js scene. | |
THREE.GLTFExporter | Exports three.js scenes to a glTF asset | |
gltf-walker | Convenience library for processing glTF | |
RedCube.js | glTF viewer without dependencies | |
gltf-bounding-box | Computes the global bounding box of a gltf model |
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 | |
glTF2-loader | C++14 glTF (2.0 only) parsing library, by Lugdunum3D | |
gltfpp | glTF 2.0 loader for C++14 | |
fx-gltf | A C++14/C++17 header-only library for simple, efficient, and robust serialization/deserialization of glTF 2.0 | |
TGen | Simple C++ Tangent Generator | |
Microsoft.glTF.CPP | A C++ library for serializing and deserializing gltf/glb files. | |
Qt 3D | Qt 3D provides functionality for near-realtime simulation systems | |
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 | |
Cinder | Work-in-progress glTF importer | |
nvpro-pipeline | Research rendering pipeline by NVIDIA for minimizing CPU cost | |
AssetKit | ? | 3D asset importer/exporter/util library |
libgltf | glTF 2.0 parser for C++11 | |
libgltf_ue4 | A third-party library for UE4.10+ to load glTF files | |
glTF for UE4 | A plugin for UE4.10+ to import glTF files |
Tool | Status | Description |
---|---|---|
GLTFKit | An Objective-C glTF 2.0 loader and Metal-based renderer |
Tool | Status | Description |
---|---|---|
C# glTF loader | C# reference loader for glTF | |
Aspose.3D for .NET | Import, export, and convert glTF | |
MixedRealityToolkit-Unity | A collection of scripts and components intended to accelerate development of applications targeting Microsoft HoloLens and Windows Mixed Reality headsets. |
Tool | Status | Description |
---|---|---|
AssetKit | 3D asset importer, exporter library. |
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 glTF JSON schema
- jgltf-impl-v1 - glTF 1.0
- jgltf-impl-v2 - glTF 2.0
- jgltf-impl-v2-technique-webgl - KHR_technique_webgl extension
- jgltf-model - Classes for reading, processing, converting and writing glTF
- jgltf-obj - Library for converting OBJ to glTF
- jgltf-viewer - Viewer for glTF, with different implementations:
- jgltf-viewer-jogl - glTF viewer based on JOGL
- jgltf-viewer-lwjgl - glTF viewer based on LWJGL version 2
- jgltf-browser - Application combining the above libraries
- jgltf-validator - Simple glTF validator, only intended for internal use
- jgltf-impl - Classes representing a glTF model, auto-generated from the glTF JSON schema
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 |
Tool | Status | Description |
---|---|---|
GLTFSceneKit | glTF loader for SceneKit |
- gltf-utilities - JavaScript utility library to help load glTF
- wetzel - Generate Markdown documentation from JSON Schema
- gltf-enum - Simple site to help work with all the different enums in glTF spec
- 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
- Building the Metaverse One Standard at a Time by Neil Trevett. Web3D. June 2018
- Sketchfab uses glTF to bring a search bar to the world of 3D. May 2018
- Draco Compressed Meshes with glTF and 3D Tiles by Gabby Getz. April 2018
- glTF Momentum Accelerates with New Support from Facebook, Epic, Unity, and Adobe by Khronos. April 2018
- GDC 2018 Khronos Developer Days - WebGL & glTF video. March 2018
- glTF Ecosystem Update, GTC by Neil Trevett. March 2018
- glTF Ecosystem Update, GDC by Patrick Cozzi. March 2018
- Adobe Dimension & glTF by Mike Bond. March 2018
- Draco 3D Compression Extension to glTF 2.0 by Frank Galligan. March 2018
- Mixed Reality with glTF by Tom Mignone. March 2018
- glTF Texture Transmission Extension by David Wilkinson. March 2018
- glTF in Unreal Engine by Mike Erwin. March 2018
- glTF Asset Generator Deep Dive by Gary Hsu. March 2018
- GLB Tutorials (exporting from Modo, Substance Painter, Maya, and others) by Facebook. February 2018
- Convert FBX format to glTF format on Blender and animate it with Three.js (Japanese) by Ryosuke Sakaki. February 2018
- Art Pipeline for glTF by Patrick Ryan. January 2018
- Call for Participation: glTF Creating a Compressed Texture Extension by Khronos. December 2017
- Using glTF Models with A-Frame by Josh Marinacci. December 2017
- Creating animated glTF Characters with Mixamo and Blender by Don McCurdy. November 2017
- glTF - Seattle Khronos Group Meetup by Saurabh Bhatia. September 2017
- 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!