GLB is the single-file binary form of glTF, and it is the one 3D format that opens everywhere: three.js and Babylon.js load it natively, Unity, Godot, Unreal and Blender import it directly. Every file below is free, a few kilobytes, and built so it survives that trip intact. Hotlink from the CDN with no account, or create a free account to download.
Every free model is hotlinkable. This is the real snippet for Tate Standing Shield:
// GLB: works in three.js, Unity, Godot, Blender
new GLTFLoader().load(
'https://polyfork.dev/cdn/tate-standing-shield-e5513e.glb',
(gltf) => scene.add(gltf.scene)
);
// or the drop-in ES module (three.js, zero loaders):
import { createAsset } from 'https://polyfork.dev/cdn/tate-standing-shield-e5513e.mjs';
scene.add(createAsset());
A GLB is only as portable as what is inside it. These carry no textures at all: colour lives in the vertices on one material per model, so there is no image to lose, no UV layout to unwrap and no shader graph to rebuild on the other side. That is also why each file is kilobytes rather than megabytes, and why a whole model draws in a single call.
Every model is built to metric scale with its origin on the ground, the convention Unity, Godot, Unreal and Blender all expect. A 4.2 m car imports as a 4.2 m car and stands on the floor rather than through it, so you are not rescaling by eye to make a scene sit together.
Doors, lids, wheels and turrets are separate named groups with the pivot already at the hinge or axle, and glTF preserves that hierarchy. After import you rotate the named node and it turns correctly, with no rigging pass and no origin fixing.
These same models also ship as ES modules that skip the loader entirely and can be reshaped through typed parameters, which is the faster path if your target is a browser. That side is covered on the free 3D models for three.js page.
Every free model on this page, downloaded at once, is 28.8 MB. They are flat-shaded vertex colour on one material with no textures, which is where the size goes and why they draw in one call. Measured from the files being served right now, not rounded down for a landing page.
GLB is a container, so "free GLB models" turns up very different things: scans, AI generations, furniture, game props. What separates them is the licence, whether you have to sign up, and what the file weighs once you open it.
| Source | Best for | Licence and signup | Typical file |
|---|---|---|---|
| Sketchfab, TurboSquid, CGTrader | Finding a specific thing, in any style | Varies per model, and you have to read each one. Account required | Anything from tiny to hundreds of MB, scale not guaranteed |
| Poly Haven | Photoscanned props and HDRIs for realistic rendering | CC0, no signup | Large: 4K textures dominate the download |
| Meshy and other generators | A model that does not exist yet, made on demand | CC0 on the pre-made set, account for generation | Small, but topology and scale vary run to run |
| Open Source 3D Assets, FurniMesh | CC0 GLB libraries in one niche, furniture especially | CC0, no signup | Web-oriented, sizes vary by author |
| Polyfork | Web and game scenes where file size and scale both matter | Free tier, hotlink with no signup, commercial use, no attribution | Around 28 KB, real-world metres, one material |
GLB is the binary form of glTF, the standard 3D format for the web: geometry, materials and animations packed into a single file. It loads natively in three.js and Babylon.js and imports into Unity, Godot, Unreal and Blender.
Yes. Free models are served from a CDN with open CORS headers, so you can load them directly from your site without hosting anything.
Yes: games, apps, client work and commercial products are all covered, no attribution required. You may not resell or redistribute the files themselves, or use them to build or train a commercial asset generator: a model, service or pipeline that produces 3D assets and that you sell or offer to others. Personal experiments, research and learning are fine.
The models use flat-shaded vertex colors instead of textures, so a typical GLB here weighs a few kilobytes instead of megabytes.