Skip to content

GLB, glTF, STL, OBJ and PLY: which 3D file format is which

7 min read June 14, 2026
3dfile formatsgltfstl3d printing

GLB and glTF are built for the web and games. STL and OBJ are the workshop formats. PLY carries scans. The format tells you what the file is for.

GLB, glTF, STL, OBJ and PLY: which 3D file format is which — Hivly

You downloaded a 3D model and got a file ending in .glb. The next one was .stl, then someone sent you an .obj with a second file called .mtl, and a scanning app spat out a .ply. They are all “3D files”, yet they behave nothing alike, and opening the wrong one in the wrong tool gets you an error or a model with no colour. The extension is not arbitrary. Each format was built for a different job.

TL;DR: glTF and GLB are delivery formats for the web, games and AR. STL and OBJ are workshop formats for printing and exchange. PLY carries scans with colour. Match the format to the task and most of the confusion disappears.

glTF and GLB: built for the web and real time

glTF, the GL Transmission Format, is the modern standard for 3D on the web. It was designed for efficient loading in browsers, games and augmented reality, and it carries a model’s geometry, materials and textures together so a scene arrives ready to display. People call it “the JPEG of 3D” because, like JPEG, it is built for delivery rather than editing.

GLB is the same format in a different wrapper. A .gltf file is JSON text that frequently references separate companion files for its binary data and image textures, which means a plain .gltf can depend on files travelling alongside it. A .glb bundles everything into one self-contained binary file. That makes GLB the more convenient of the two to share or drop into a viewer, because there is only ever one file to move.

STL: the workshop format for 3D printing

STL is the format almost every 3D printer and slicer speaks. It describes a model’s surface as a mesh of triangles and nothing else, no colour, no texture, no materials. That sounds limiting, but it is exactly what a printer needs: the shape of the object, expressed simply enough that any machine can read it. The simplicity is why STL became the universal printing format.

Because STL stores only geometry, the dimensions it reports are the whole story for a print. Models are almost always saved in millimetres, so a reading of 60 by 40 by 20 usually means 60 mm wide. If a downloaded model looks wrong in your slicer, the units are the first thing to check.

OBJ: the long-standing exchange format

OBJ is one of the oldest and most widely supported 3D formats, and it survives because nearly every tool can read and write it. It stores geometry as plain text: vertices, faces and texture coordinates. That makes it a common neutral format for moving a model between two programs that otherwise would not talk to each other.

The catch is materials. OBJ keeps its colours and surface properties in a separate .mtl file, with textures in further image files alongside. Open an OBJ on its own and you get the geometry shown in a plain shaded material, because the companion files that hold the look are missing. The shape and scale are accurate; the appearance lives elsewhere.

PLY: the format that carries scans

PLY, the Polygon File Format, is the one you meet when you start working with 3D scans and photogrammetry. Alongside geometry it can store extra per-vertex data, and the important one is colour. When you scan a real object, the colour captured from its surface can be baked into the mesh’s vertices, and PLY is built to carry exactly that.

This is why a scan often arrives as PLY rather than STL or OBJ. If the file includes per-vertex colour, a viewer can show the object close to how it looked in real life. If it holds only geometry, it falls back to a plain shaded surface, the same as any other mesh.

Picking by the job, not the icon

The fastest way to choose is to start from what you are doing. Putting a model on the web or into a game engine points at glTF or GLB. Sending something to a 3D printer points at STL. Moving a model between modelling tools points at OBJ. Sharing a scan with its colour intact points at PLY. The format is a label for intent as much as data.

If you just need to look at one of these files and check it is the right model, the 3D model viewers open all five in the browser, so you can rotate, measure and screenshot without installing heavy software first.

Try the 3d model viewersOpen and inspect GLB, glTF, STL, OBJ and PLY models in your browser, orbit, zoom, wireframe and screenshot. Nothing uploaded.

Frequently asked questions

What is the difference between GLB and glTF?
They are the same format in two containers. A glTF file is JSON text that often points to separate files for binary data and textures, while a GLB packs all of that into one binary file. GLB is easier to share because there is only one file to move around.
Which 3D format should I use for the web?
Use glTF or its binary form GLB. The format was designed for efficient loading in browsers, games and AR, and it carries geometry, materials and textures together. It is often called "the JPEG of 3D" because it is built for delivery, not editing.
Why does STL have no colour or texture?
STL describes only a model's surface as a mesh of triangles, with no material, colour or texture data. It was created for 3D printing, where the printer needs the shape and nothing else, which is why STL files are simple and almost universally supported by slicers.
What format do 3D scans usually come in?
Scans and photogrammetry often produce PLY files, because PLY can store per-vertex colour alongside geometry. That lets the colour captured from the real object travel with the mesh, which formats like STL cannot carry.

Keep reading

Building something bigger?

Hivly is made by CodingEagles, a software studio that ships production web apps. If you have a real project, get in touch.

See what CodingEagles does →