Free models built for three.js specifically: each one imports as an ES module in a single line with no GLTFLoader, no async plumbing and no loading state to manage, and comes back as a ready THREE.Group. Hotlink from the CDN with no account, or create a free account to download. No attribution, commercial use allowed.
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());
The usual three.js path is construct a GLTFLoader, await a fetch, dig gltf.scene out of the result and handle the frames before it arrives. These models also publish an ES module, so the whole sequence collapses to an import and a call that returns a group immediately. The GLB is still there if you prefer it, and both produce identical geometry.
Every model is flat-shaded vertex colour on a single material with no textures, so it draws in one call. Because they all share that same material, any set of them merges into a single geometry: a cottage, a tree, a well and a fence become one draw call for the lot.
Many of these take typed parameters, so createAsset({ tallness: 1.2 }) returns a taller version at the same triangle budget rather than a different download. The knobs and their plain-language descriptions are published as JSON alongside each model.
The same models are downloadable as GLB, which is the format those engines import directly. The free GLB models page covers that side, including scale conventions and what survives the export.
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.
The big libraries have far more models than this one and always will. They are built for every renderer at once; these are built for one. Pick on what you are doing:
| Library | Best for | What you get | Getting it into three.js |
|---|---|---|---|
| Sketchfab, CGTrader, TurboSquid | The widest possible choice, any style, including photoreal | Millions of models, mixed formats and licences, quality varies by author | Download, check the licence, often convert, then load with GLTFLoader |
| Poly Haven | Photoscanned props, HDRIs and textures, all CC0 | A small, very high quality set aimed at realistic rendering | Download the glTF and load it. Heavy for the web: textures dominate |
| Kenney | Cohesive low-poly game kits that look right together | Big themed packs, public domain, made for game engines | Download the pack, load the OBJ or glTF you need |
| Free3D | One-off free models when you need a specific thing | Mixed formats and mixed quality, licence varies per model | Download, convert if needed, load |
| Polyfork | Web scenes where every kilobyte and every draw call is counted | A smaller set, one style, real-world scale, knobs on many of them | Import the ES module and call it, or hotlink the GLB. No loader, no build step |
Yes. Every model on this page is free to download and hotlink, and you can use them in games, apps, client work and commercial products with no attribution. The only restriction: you cannot resell or redistribute the models themselves as assets.
Those libraries are bigger and always will be, and if you want photoreal or photoscanned assets you should use them. The difference here is that these models are built for one renderer instead of every renderer: each is a few hundred triangles, a median of 48.1 KB as a GLB, flat-shaded on one material so it draws in a single call, and published as an ES module you import and call rather than a file you load. All 652 free models together come to 28.8 MB.
They are built for real-time rendering: flat-shaded vertex colors on a single material, one draw call per model, GLB files of a few kilobytes, real-world scale in meters, and named pivot groups for animation.
Yes. The GLB files import into Unity, Godot, Unreal, Blender and any other engine or tool that reads glTF.
Hotlinking needs no account: the CDN URL works in your code immediately. Downloading the files needs a free account, which also gives you a library of what you have taken.