Sample GLB Files — Download glTF Binary Models for Testing

GLB — binary glTF 2.0 · .glb · MIME type model/gltf-binary

8 files21 KB – 923 KBDirect linksNo ads, no sign-upFree for any useSHA-256 verified

Download a sample GLB file to test a three.js, Babylon.js or model-viewer scene, a 3D upload pipeline or a glTF parser. There is one file per feature, so a failure points at the feature: a textured low-poly model, a PBR material sheet (a metallic × roughness grid of spheres plus a sphere using base colour, occlusion-roughness-metallic, normal and emissive maps), node animation, morph-target animation, a skinned mesh with a four-joint skeleton, and a multi-mesh scene with a node hierarchy, a camera and two KHR_lights_punctual lights.

The 51,200-triangle model comes twice: uncompressed (923 KB) and Draco-compressed (103 KB), so you can test KHR_draco_mesh_compression decoding and see what it saves. Every GLB passes the Khronos glTF Validator with zero errors and zero warnings, and loads in three.js's GLTFLoader.

Rendered preview of the sample GLB model
Static render of a sample on this page, flat-shaded by our generator. Open the downloads in any GLB viewer to inspect them in 3D.

Download sample GLB files

FileDetailsSizeDownload
sample-animated-rotation.glb
1,024 triangles • node animation: rotation + translation, 4 s loop • 21 KB
1,024 triangles · 512 vertices · normals · 1 material · 1 animation · metres, Y up21 KB
20,648 bytes
Download GLB
sample-skinned-mesh.glb
1,056 triangles • skinned mesh, 4-joint skeleton, bending animation • 35 KB
1,056 triangles · 562 vertices · normals · 1 material · 1 animation · metres, Y up35 KB
34,508 bytes
Download GLB
sample-animated-morph-targets.glb
768 triangles • 2 morph targets (spherify, squash) with weight animation • 42 KB
768 triangles · 486 vertices · normals · 1 material · 1 animation · metres, Y up42 KB
42,036 bytes
Download GLB
sample-multi-mesh-scene.glb
1,998 triangles • 4 meshes, node hierarchy, camera, 2 KHR_lights_punctual lights • 48 KB
1,998 triangles · 1,101 vertices · normals · UVs · 4 materials · metres, Y up48 KB
47,836 bytes
Download GLB
sample-medium-poly-draco.glb
51,200 triangles • Draco-compressed (KHR_draco_mesh_compression) • 103 KB
51,200 triangles · 25,600 vertices · normals · 1 material · Draco · metres, Y up103 KB
103,248 bytes
Download GLB
sample-textured-low-poly.glb
4,096 triangles • embedded PNG texture • 133 KB
4,096 triangles · 2,193 vertices · normals · UVs · 1 material · metres, Y up133 KB
133,012 bytes
Download GLB
sample-pbr-materials.glb
26,048 triangles • 11 PBR materials: metallic × roughness grid + textured sphere (base, ORM, normal, emissive) • 197 KB
26,048 triangles · 14,395 vertices · normals · UVs · 11 materials · metres, Y up197 KB
196,752 bytes
Download GLB
sample-medium-poly.glb
51,200 triangles • uncompressed (compare with the Draco file) • 923 KB
51,200 triangles · 25,600 vertices · normals · 1 material · metres, Y up923 KB
922,752 bytes
Download GLB
8 files · direct links · no sign-up · CORS enabled

Use these files from the command line or CI

Every URL is stable and CORS-open. Pin the SHA-256 in your test and you will know the moment a fixture changes.

# Download one file
curl -O https://pnb-freetoolsforweb.s3.us-east-2.amazonaws.com/samples/3d/glb/sample-animated-rotation.glb

# Verify it (SHA-256 is listed for every file above)
shasum -a 256 sample-animated-rotation.glb

# Machine-readable index of every sample file
curl https://pnb-freetoolsforweb.s3.us-east-2.amazonaws.com/samples/index.json | jq '.files[] | select(.format=="glb")'

GLB format at a glance

Full nameGLB — binary glTF 2.0
Extensions.glb
MIME typemodel/gltf-binary
SpecificationKhronos glTF 2.0, binary container (GLB)
Magic bytes67 6C 54 46 (“glTF”), version 2
Layout12-byte header, JSON chunk, BIN chunk, 4-byte aligned
Features coveredPBR, textures, node / morph / skin animation, cameras, lights, Draco
ValidationKhronos glTF-Validator: 0 errors, 0 warnings

What people test with sample GLB files

  • Web 3D viewers (three.js, Babylon.js, model-viewer)
  • Draco decoder setup (KHR_draco_mesh_compression)
  • Animation, morph target and skinning playback
  • PBR material and texture-map rendering checks
  • Server-side thumbnailing and format conversion
  • Upload validation by magic bytes rather than extension
Testing notes. The Draco file declares KHR_draco_mesh_compression in extensionsRequired. A loader without a Draco decoder must refuse it rather than render nothing — in three.js that means calling setDRACOLoader() on GLTFLoader. The textured PBR sphere has a normal map and ships TANGENT data, so its shading does not depend on runtime tangent generation. The edge-case pack has a GLB cut off at 60%, a GLB with no meshes, and a GLB renamed to .stl.

Frequently asked questions

How do I open a GLB file?

Drag it into any online glTF viewer, import it into Blender (File › Import › glTF 2.0), or load it in code with three.js's GLTFLoader or Babylon.js's SceneLoader. GLB is self-contained, so there are no companion files to keep next to it.

What does Draco compression do to a GLB?

It compresses mesh geometry (positions, normals, indices) with quantisation and entropy coding, here shrinking the 51,200-triangle model from 923 KB to 103 KB. Textures and animation are untouched. The cost is a decoder (a few hundred KB of WebAssembly) and some decode time on the client.

Which file should I use to test animation?

sample-animated-rotation.glb for basic node animation (a 4-second rotation and translation loop), sample-animated-morph-targets.glb for morph weights (a cube that turns into a sphere, then squashes), and sample-skinned-mesh.glb for skeletal animation (a four-bone tentacle that bends).

What units and up axis do these files use?

glTF, GLB, OBJ, PLY, OFF, DAE and USDZ are Y-up in metres (the torus knot is about 1.4 m across). STL and 3MF are Z-up in millimetres and rest on z = 0, as slicers expect. FBX is Y-up in centimetres. The units and up axis of each file are listed in its details, so you can check that your importer scales and rotates correctly.

Where do these models come from?

We generate them. A script builds the geometry from formulas (a torus knot, UV spheres, cubes, and a bracket made with a boolean modelling library), then writes each file format byte by byte from its specification. Nothing is downloaded, scanned or converted from someone else's model, which is why they are free for any use, including commercial, with no attribution.

Are these GLB files safe to download?

Yes. Every file is generated by our own open script from scratch — nothing is scraped or user-uploaded — and contains no scripts, macros or executables. The SHA-256 of each file is published on this page so you can verify what you received.

Can I use the sample GLB files commercially?

Yes. They are free for any purpose, including commercial products, test suites, demos and redistribution, with no attribution required. There is nothing to license and no one to ask.

Can I hotlink these files or use them in CI?

Yes. Every link is a stable direct URL over HTTPS with Access-Control-Allow-Origin: * and long cache headers, so curl, wget, fetch() and test runners can pull them directly. A JSON index of every file is linked from each page (see the command-line section).

Related sample files

Free tools that work with GLB

  • Hash Generator — Hash text or files with MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC32, verify a checksum, or compute an HMAC. Files never leave your device.
  • Test File Generator — Generate a dummy file of any exact size in your browser — 1 KB to 2 GB, random bytes, text, CSV or JSON.

Found a problem, or something that could be better? We read every message and we fix things quickly.

Testing a file pipeline? We build them.

Uploads, conversions, previews, document processing and media workflows are the kind of production systems FreeToolsForWeb designs and runs for clients — which is why we needed these files in the first place.

Explore free tools