Free online GLTF converter. Convert GLTF to GLB, OBJ, STL, PLY and more online — no limits, no watermark.
.gltf model. Because a .gltf is JSON that references external .bin geometry and image textures, the conversion runs entirely in your browser — your model is parsed with three.js on your own device.glTF (GL Transmission Format, sometimes written Graphics Language Transmission Format) is an open, royalty-free standard from the Khronos Group. The current version, glTF 2.0, was finalized in June 2017 and later ratified as the international standard ISO/IEC 12113:2022. It is often called "the JPEG of 3D" because it was designed to transmit and load 3D scenes efficiently for the web, AR, and real-time engines, carrying meshes, PBR (physically based rendering) materials, animation, and full scene hierarchy in one description.
That richness is also why people convert away from it. A plain .gltf is a JSON file that points to external .bin geometry and separate image textures, so moving a model means moving a folder of files — easy to break by losing a texture. The most common reasons to convert:
A key tradeoff: glTF carries PBR materials, animation, and scene structure that OBJ, STL, and PLY simply cannot represent. Converting to those formats keeps the geometry but drops materials, animation, and the scene graph — so convert to GLB when you want to preserve everything, and to OBJ/STL/PLY only when the destination just needs the mesh.
| Format | Type | Carries materials / animation | Single file | Best for |
|---|---|---|---|---|
| glTF (.gltf) | JSON + external .bin + textures |
Yes (PBR, animation, scene) | No (multi-file) | Editing, web delivery with separate assets |
| GLB (.glb) | Binary glTF container | Yes (PBR, animation, scene) | Yes | Web viewers, model-viewer, AR, sharing |
| OBJ (.obj) | Text mesh (often + .mtl) | Materials only, no animation | No (mesh + .mtl + textures) | Legacy modeling apps, broad compatibility |
| STL (.stl) | Triangle mesh | No | Yes | 3D printing, CAD geometry exchange |
| PLY (.ply) | Polygon mesh | Per-vertex color, no animation | Yes | 3D scans, photogrammetry, point clouds |
| 3MF (.3mf) | Zipped XML print package | Color + units, no animation | Yes | Modern 3D printing, color prints |
| glTF feature | GLB | OBJ | STL | PLY | 3MF |
|---|---|---|---|---|---|
| Mesh geometry | Yes | Yes | Yes | Yes | Yes |
| UV coordinates | Yes | Yes | No | Non-standard | Via extension |
| PBR base color + metallic/roughness | Yes | Basic color only | No | Vertex color only | Color only |
| Normal, emissive, and occlusion maps | Yes | No | No | No | No |
| Node hierarchy / scene graph | Yes | Object groups only | No | No | Build items only |
| Skeletal animation and morph targets | Yes | No | No | No | No |
| Cameras and punctual lights | Yes | No | No | No | No |
| Units | Meters (per spec) | Unitless | Unitless | Unitless | Explicit units |
| Files you have to keep together | 1 | 3+ (.obj, .mtl, images) |
1 | 1 | 1 |
They are the same format with different packaging. A .gltf file is human-readable JSON that references external .bin geometry buffers and separate image textures, so a single model is really a folder of files — convenient for editing individual pieces but easy to break if a texture goes missing. A .glb packs that same JSON, the binary buffers, and the textures into one self-contained binary file. Nothing about the geometry, materials, or animation changes; you are choosing whether the asset travels as several files or one. For sharing, web embeds, and AR, GLB's single-file packaging is almost always the better choice.
It depends on the target. Converting glTF to GLB preserves everything — PBR materials, animation, and the full scene graph — because GLB is just a packaged form of the same format. Converting to OBJ, STL, PLY, or 3MF keeps the geometry but drops what those formats cannot represent: STL holds only triangle geometry, PLY adds per-vertex color, OBJ carries basic materials but no animation, and none of them store glTF's animation tracks or scene hierarchy. If preserving the full model matters, convert to GLB.
STL for the widest slicer support, or 3MF if you want color and real-world units to come along. Both formats discard glTF's textures and PBR materials and keep just the printable mesh, which is exactly what a slicer needs. Make sure your model is a closed, watertight solid before printing — glTF models built for web display are sometimes single-sided surfaces, which slicers can struggle with. Use glTF to STL for the universal route or glTF to 3MF for a color-aware print package.
In your browser. This converter parses and re-exports your model entirely on your own device using the three.js library, so there is no queue and no account. That also means the practical limit is your own device: very large multi-million-triangle scenes are bounded by your browser's available memory rather than by an upload cap.
Plenty of tools read glTF 2.0 natively: Blender, Microsoft's 3D Viewer and Paint 3D on Windows, Apple's Preview and AR Quick Look, Godot, Unity and Unreal (via importers), and any web page using <model-viewer> or a three.js / Babylon.js viewer. The catch is the multi-file structure — if someone sends you a .gltf without its accompanying .bin and texture files, it will load with missing geometry or materials. Converting to GLB first avoids that, since a .glb is one complete file.
Partly. OBJ stores geometry and references materials through a companion .mtl file plus external image files, so a glTF-to-OBJ conversion can carry basic color and texture maps, but it cannot represent glTF's full PBR material model (metallic-roughness, normal maps in the glTF sense, emissive setups) or any animation. Expect a faithful mesh with simplified materials. In our testing, a textured glTF cube exported to OBJ produced a .obj, a matching .mtl, and the referenced texture image — three files you need to keep together, which is exactly the multi-file problem GLB solves.
Yes, and this is the most common source of "my print came out microscopic". The glTF 2.0 specification states that the units for all linear distances are meters, and that once a node's global transform is applied, mesh vertex positions are in meters. STL and OBJ have no unit field whatsoever, and effectively every slicer interprets an STL as millimeters — so a 1.8-meter-tall glTF character arrives as a 1.8 mm speck unless you scale it by 1000 on import. 3MF is the exception among the print targets, because it records units explicitly. glTF also defines a right-handed coordinate system with +Y up and the front of the asset facing +Z, which is why models sometimes land on their side in Z-up applications and need a 90° rotation after import.
The spec allows a .gltf to reference its buffers and images either as separate files or as inline base64 data URIs, so two files sharing the same extension can behave very differently. The external form is really a folder — the .gltf plus a .bin plus image files — and it breaks the moment a piece goes missing. The embedded form is a single self-contained .gltf, but the spec notes that base64 encoding inflates encoded resources by roughly 33% and still has to be decoded before anything renders. GLB exists specifically to avoid both problems: one file, with the binary payload stored raw in its own chunk rather than base64-encoded inside the JSON.