glTF / GLB

The standard 3D file for the web: mesh, materials, textures, and animation in one bundle. GLB is the single-file version.

the web 3D file typethe JPEG of 3D modelsgtlfglb filewhat format should I export my 3D model in3d model file that works in the browsergltf binarythe one-file 3D export

See it

Live demo coming soon

What it is

glTF is the Khronos Group's transmission format for 3D: geometry, materials, textures, cameras, and animation packed in a structure a renderer can upload to the GPU almost as-is. GLB is the same thing welded into one binary file, which is what you almost always want on the web. It can embed the buffers and images so the model arrives in one request with no missing texture paths, but that is an exporter setting rather than a promise: a GLB is still allowed to reference external image URIs, so check the output for external references before assuming it is self-contained. The nickname 'the JPEG of 3D' comes from Khronos itself.

Reach for it any time a model has to travel over a network. Authoring formats (.blend, .max, .c4d) carry editor state nobody's browser needs, and OBJ/FBX predate PBR conventions, so materials arrive as guesses. glTF speaks metalness/roughness natively, so what you saw in Blender is roughly what you get in three.js.

Gotcha: a GLB is not automatically small. Uncompressed vertex data and 4K PNG textures routinely produce 60MB files that technically load and practically don't. Run it through Draco or meshoptimizer for geometry and KTX2/Basis for textures, and check the result in gltf-report or the Khronos validator before shipping.

Ask AI for it

Export/deliver this 3D asset as a single binary GLB (glTF 2.0) using metalness-roughness PBR materials, +Y up, real-world scale in meters, and the origin at the base of the object. Compress geometry with meshoptimizer or Draco, convert textures to KTX2/Basis with mipmaps, cap texture resolution at 2048px, and keep the final file under 5MB. Load it in three.js with GLTFLoader plus the matching decoder, and show a placeholder until it resolves.

You might have meant

mesh geometrymaterialtexture compressiongeometry compressionpbr

Go deeper