Free low-poly character 3D models for three.js (GLB, CC BY)
24 free low-poly characters for three.js from the 1,737 in the paprika3d asset library (CC BY), as meshopt GLB files: each with its author, license, credit line, triangles and file size, and the asset_search call that fetches it.
What the library holds
The paprika3d asset library holds 1,737 low-poly characters among its 57,732 models. All of them are licensed CC BY 4.0, which asks you to credit the author wherever you use the model; each card below carries the credit line to paste. 7 are AI-generated, from Scenario's 3D Collection, and say so on their card.
1,712 of the 1,737 pass the library's quality checks: textured (or drawn in vertex colours, for a low-poly or voxel model), not flat, at most 15 MB, with a name, a description and a real-world height. Among those, the median model has 2,170 triangles, with the middle half between 998 and 5,610, and the median file is 0.07 MB, with nine in ten at most 0.4 MB. The median one stands 1.75 m tall at real size. 7 carry a texture of 2048 px, the library's largest; the rest are smaller. 399 are animated and 501 rigged. The most common styles are low-poly (1,712).
Low-poly characters in a three.js scene
These are light: the median character has 2,170 triangles in a 0.07 MB file, so a crowd costs little geometry. What costs more in a skinned crowd is the draw calls and the bone updates, one set per character. Characters that share one palette texture can share one material, so the renderer changes state less often between them.
Many low-poly characters are coloured from a small palette image. Set texture.magFilter = THREE.NearestFilter and minFilter = THREE.NearestFilter (or generateMipmaps = false) so the colour cells stay crisp instead of blending into their neighbours. Faceted faces read clearly with flatShading: true on the material.
Of the 1,712 that pass the checks, 501 are rigged and 399 animated; filter with rigged: true in asset_search for one that will walk.
Fetch one and load it
With the paprika3d plugin in Claude Code, or its MCP server in any other agent, the agent searches the library in words or picks a model by the id on its card. pick downloads the file into the project's assets/ folder (public/assets/ under vite), adds the credit line to assets/CREDITS.md and answers with the code that loads it at real size. Give cwd, the project folder, as with every paprika3d tool.
asset_search {"query": "low poly character", "cwd": "."}
asset_search {"pick": "88b4ab00b38a44aab8fa2700985d98f1", "cwd": "."}
Every file is a binary glTF (.glb) compressed with meshopt, so GLTFLoader needs the meshopt decoder that ships with three.js. The origin sits at the bottom centre of each model, so it stands on the floor where you place it:
import * as THREE from 'three';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import { MeshoptDecoder } from 'three/addons/libs/meshopt_decoder.module.js';
const loader = new GLTFLoader().setMeshoptDecoder(MeshoptDecoder);
const gltf = await loader.loadAsync('assets/man-in-a-suit-88b4ab.glb');
scene.add(gltf.scene);
24 low-poly characters to start from
Chosen from the 1,712 that pass the checks: the ones agents picked most through asset_search first, then the ones whose name says what they are, then lighter files, with at most 2 per author. Each CC BY card ends with its credit line: paste it into your credits, as the license requires.

Man in a suit by tomy97
CC BY 4.0 · 1,927 triangles · 0.023 MB · low-poly · 1.8 m tallasset_search {"pick": "88b4ab00b38a44aab8fa2700985d98f1"}
Credit: "Man in a suit" by tomy97 (https://sketchfab.com/3d-models/88b4ab00b38a44aab8fa2700985d98f1) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Arbaletier by Meee
CC BY 4.0 · 718 triangles · 0.034 MB · low-poly · 1.8 m tallasset_search {"pick": "8701e743b14a4866a125436e15e02244"}
Credit: "Arbaletier" by Meee (https://sketchfab.com/3d-models/8701e743b14a4866a125436e15e02244) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Wren by glaranjeira
CC BY 4.0 · 7,085 triangles · 0.078 MB · low-poly · 1.7 m tallasset_search {"pick": "40b7e93575d24d48ad85711778330fe9"}
Credit: "Wren" by glaranjeira (https://sketchfab.com/3d-models/40b7e93575d24d48ad85711778330fe9) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low-poly stylized characters by Enas
CC BY 4.0 · 13,929 triangles · 0.374 MB · low-poly · 1.8 m tallasset_search {"pick": "89e4d7283e0341cf8feef70175ad04a1"}
Credit: "Low-poly stylized characters" by Enas (https://sketchfab.com/3d-models/89e4d7283e0341cf8feef70175ad04a1) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Model with Primitives Exercise by Daniel Vega
CC BY 4.0 · 2,374 triangles · 0.025 MB · low-poly · 1.8 m tallasset_search {"pick": "5aeee873c6fc417ca2a423033d00b1bc"}
Credit: "Model with Primitives Exercise" by Daniel Vega (https://sketchfab.com/3d-models/5aeee873c6fc417ca2a423033d00b1bc) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

PumpkinHead by djcarson
CC BY 4.0 · 2,908 triangles · 0.043 MB · low-poly · 1.8 m tallasset_search {"pick": "195a87ba94404ecbbb600273445f9924"}
Credit: "PumpkinHead" by djcarson (https://sketchfab.com/3d-models/195a87ba94404ecbbb600273445f9924) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Guerreo by morion tutoriales
CC BY 4.0 · 7,399 triangles · 0.235 MB · low-poly · 1.8 m tallasset_search {"pick": "df1c326107d548daacf2a0d3fe469d09"}
Credit: "Guerreo" by morion tutoriales (https://sketchfab.com/3d-models/df1c326107d548daacf2a0d3fe469d09) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Archer male attack - Medieval Fantasy Challenge by tuturu
CC BY 4.0 · 876 triangles · 0.037 MB · low-poly · 1.8 m tallasset_search {"pick": "2160d84a89814e86aa74ed534902cbab"}
Credit: "Archer male attack - Medieval Fantasy Challenge" by tuturu (https://sketchfab.com/3d-models/2160d84a89814e86aa74ed534902cbab) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Viking by SatanHimSelf
CC BY 4.0 · 13,366 triangles · 0.243 MB · low-poly · 1.8 m tallasset_search {"pick": "1ea982072779487f837258ad85a8eb47"}
Credit: "Viking" by SatanHimSelf (https://sketchfab.com/3d-models/1ea982072779487f837258ad85a8eb47) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Knight (Rigged) by Yanez Designs
CC BY 4.0 · 1,222 triangles · 0.066 MB · low-poly · 1.8 m tall · animatedasset_search {"pick": "6d15613997ae4fe29ec3f4beb976b773"}
Credit: "Low Poly Knight (Rigged)" by Yanez Designs (https://sketchfab.com/3d-models/6d15613997ae4fe29ec3f4beb976b773) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Astronaut by shamanking1337
CC BY 4.0 · 1,604 triangles · 0.082 MB · low-poly · 1.8 m tallasset_search {"pick": "98d94822c6a948e1b0404504fbf84636"}
Credit: "Astronaut" by shamanking1337 (https://sketchfab.com/3d-models/98d94822c6a948e1b0404504fbf84636) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Skull Guy Low Poly Model by SonicVisual
CC BY 4.0 · 14,230 triangles · 0.256 MB · low-poly · 1.7 m tallasset_search {"pick": "32b50775bd664a22ae7ef1d9e0fbb39f"}
Credit: "Skull Guy Low Poly Model" by SonicVisual (https://sketchfab.com/3d-models/32b50775bd664a22ae7ef1d9e0fbb39f) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low | Polygon | Characters | Pack by Erroratten
CC BY 4.0 · 5,358 triangles · 0.738 MB · low-poly · 1.8 m tallasset_search {"pick": "4187adfe52824bd5a88ffb356e0b40ef"}
Credit: "Low | Polygon | Characters | Pack" by Erroratten (https://sketchfab.com/3d-models/4187adfe52824bd5a88ffb356e0b40ef) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Royal Female 2 by Artbake Graphics
CC BY 4.0 · 468 triangles · 0.025 MB · low-poly · 1.7 m tallasset_search {"pick": "d5d8dbe23e55455793e63db947d921f0"}
Credit: "Royal Female 2" by Artbake Graphics (https://sketchfab.com/3d-models/d5d8dbe23e55455793e63db947d921f0) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Game ready character by d333p
CC BY 4.0 · 3,698 triangles · 0.191 MB · low-poly · 1.7 m tallasset_search {"pick": "e321e805190748c6a94dbe11b97e3023"}
Credit: "Game ready character" by d333p (https://sketchfab.com/3d-models/e321e805190748c6a94dbe11b97e3023) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Rigging by EthanLambert
CC BY 4.0 · 3,996 triangles · 0.056 MB · low-poly · 1.7 m tallasset_search {"pick": "0d1d74ebc73b42b989fa2b86ba41ef3d"}
Credit: "Rigging" by EthanLambert (https://sketchfab.com/3d-models/0d1d74ebc73b42b989fa2b86ba41ef3d) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Avatar by Malek-_-
CC BY 4.0 · 480 triangles · 0.014 MB · low-poly · 1.8 m tallasset_search {"pick": "13db18b74bde4f4faf2caeca20bec15a"}
Credit: "Low Poly Avatar" by Malek-_- (https://sketchfab.com/3d-models/13db18b74bde4f4faf2caeca20bec15a) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Lowpoly bigfoot by Sololopenko
CC BY 4.0 · 3,410 triangles · 0.196 MB · low-poly · 2.2 m tall · animated · riggedasset_search {"pick": "a85b050494a14d8aa7a5a94c82a6176c"}
Credit: "Lowpoly bigfoot" by Sololopenko (https://sketchfab.com/3d-models/a85b050494a14d8aa7a5a94c82a6176c) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Minion by Nostro
CC BY 4.0 · 8,395 triangles · 0.521 MB · low-poly · 1.8 m tall · animated · riggedasset_search {"pick": "fa0c02d9612e4574ab2a6eda08265477"}
Credit: "Minion" by Nostro (https://sketchfab.com/3d-models/fa0c02d9612e4574ab2a6eda08265477) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.
![[Vanova's Stories] - Mike Norris](https://paprika3d.com/media/assets/dbab3843d98744ae80a7b2019776fdf7.webp)
[Vanova's Stories] - Mike Norris by Océane Navarro
CC BY 4.0 · 3,330 triangles · 0.046 MB · low-poly · 1.8 m tallasset_search {"pick": "dbab3843d98744ae80a7b2019776fdf7"}
Credit: "[Vanova's Stories] - Mike Norris" by Océane Navarro (https://sketchfab.com/3d-models/dbab3843d98744ae80a7b2019776fdf7) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Cosmonaut on a rocket by Yury Misiyuk
CC BY 4.0 · 3,958 triangles · 0.667 MB · low-poly · 3 m tall · animated · riggedasset_search {"pick": "e93cbbdb9a2144fb9f63d062566f3e63"}
Credit: "Cosmonaut on a rocket" by Yury Misiyuk (https://sketchfab.com/3d-models/e93cbbdb9a2144fb9f63d062566f3e63) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Bailando Samba low poly by Jina
CC BY 4.0 · 10,319 triangles · 0.335 MB · low-poly · 1.5 m tall · animated · riggedasset_search {"pick": "fa36a543af744d698d40502a11d000f5"}
Credit: "Bailando Samba low poly" by Jina (https://sketchfab.com/3d-models/fa36a543af744d698d40502a11d000f5) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

03 Samuel Alcalde :: 3er Corte by Samuel_Alcalde
CC BY 4.0 · 4,202 triangles · 0.258 MB · low-poly · 1.8 m tallasset_search {"pick": "9973cf4cf3184468a4de9ac57340b95b"}
Credit: "03 Samuel Alcalde :: 3er Corte" by Samuel_Alcalde (https://sketchfab.com/3d-models/9973cf4cf3184468a4de9ac57340b95b) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Army_Soldier_43 by BlackSpire
CC BY 4.0 · 1,566 triangles · 0.041 MB · low-poly · 1.8 m tallasset_search {"pick": "0270fbbc08c84cfba294470851e729e2"}
Credit: "Army_Soldier_43" by BlackSpire (https://sketchfab.com/3d-models/0270fbbc08c84cfba294470851e729e2) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.
Related
- Free soldier 3D models for three.js (GLB, CC BY)
- Free zombie 3D models for three.js (GLB, CC BY)
- Free pirate 3D models for three.js (GLB, CC BY)
- Free robot 3D models for three.js (GLB, CC BY)
Counts from the library's catalog on 2026-10-28. The models are their authors' work under the license on each card; paprika3d converted them for the web.