Free soldier 3D models for three.js (GLB, CC BY)
24 free soldiers for three.js from the 1,232 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,232 soldiers 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. 46 are AI-generated, from Scenario's 3D Collection, and say so on their card.
1,194 of the 1,232 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 12,200 triangles, with the middle half between 3,590 and 27,500, and the median file is 0.41 MB, with nine in ten at most 1.2 MB. The median one stands 1.8 m tall at real size. 45 carry a texture of 2048 px, the library's largest; the rest are smaller. 270 are animated and 371 rigged. The most common styles are stylized (474), realistic (267) and low-poly (239).
Soldiers in a three.js scene
Soldiers are mostly characters at human height (1.8 m in the median), and 371 are rigged and 270 animated. Filter with rigged: true or animated: true in asset_search when the game needs them to move, since a soldier in a fixed pose cannot be animated in three.js without a rig.
Clips play on another soldier when the bone names match, as they do between Mixamo exports; when the names differ, SkeletonUtils.retargetClip maps one skeleton's clip onto another. A squad of the same soldier needs SkeletonUtils.clone for each copy and its own AnimationMixer, because a plain clone() leaves the copies bound to the first skeleton.
A weapon goes in the hand by adding it to the hand bone. 45 soldiers carry a 2048 px texture and 46 are AI-generated; a squad of the heavier ones is worth a perf run once it is on screen.
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": "soldier", "cwd": "."}
asset_search {"pick": "f9e6994b88aa4c2e8331ce5dbd515c06", "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/army-soldier-20-f9e699.glb');
scene.add(gltf.scene);
24 soldiers to start from
Chosen from the 1,194 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.

Army_Soldier_20 by BlackSpire
CC BY 4.0 · 1,022 triangles · 0.035 MB · low-poly · 1.8 m tallasset_search {"pick": "f9e6994b88aa4c2e8331ce5dbd515c06"}
Credit: "Army_Soldier_20" by BlackSpire (https://sketchfab.com/3d-models/f9e6994b88aa4c2e8331ce5dbd515c06) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly "Warrior" handpainted model by TonesomJa
CC BY 4.0 · 4,112 triangles · 0.078 MB · low-poly · 1.8 m tallasset_search {"pick": "ab16de5892974fe28deb6e9b69f798e1"}
Credit: "Low Poly "Warrior" handpainted model" by TonesomJa (https://sketchfab.com/3d-models/ab16de5892974fe28deb6e9b69f798e1) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Pug Warrior by JarrodT3D
CC BY 4.0 · 41,416 triangles · 0.6 MB · stylized · 1.7 m tallasset_search {"pick": "8e27f70ff1bd4d85826926b420247500"}
Credit: "Pug Warrior" by JarrodT3D (https://sketchfab.com/3d-models/8e27f70ff1bd4d85826926b420247500) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Soldier by Straight Design
CC BY 4.0 · 1,466 triangles · 0.153 MB · low-poly · 1.8 m tall · animated · riggedasset_search {"pick": "d65a6d1e87bf444088a0e8168e34e9e0"}
Credit: "Soldier" by Straight Design (https://sketchfab.com/3d-models/d65a6d1e87bf444088a0e8168e34e9e0) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Elf-Warrior-With-Cape by Leonardo Carvalho
CC BY 4.0 · 6,456 triangles · 2.06 MB · stylized · 1.2 m tall · animated · riggedasset_search {"pick": "f121e6514d02489191b2aa764a051d67"}
Credit: "Elf-Warrior-With-Cape" by Leonardo Carvalho (https://sketchfab.com/3d-models/f121e6514d02489191b2aa764a051d67) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Pre Rigged Armour Soldier by Priyanshu Sahu
CC BY 4.0 · 14,147 triangles · 0.394 MB · stylized · 1.9 m tall · riggedasset_search {"pick": "a2a1535d771b450d8a0246a61400d3ab"}
Credit: "Pre Rigged Armour Soldier" by Priyanshu Sahu (https://sketchfab.com/3d-models/a2a1535d771b450d8a0246a61400d3ab) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Scifi Soldier by Joel Wood
CC BY 4.0 · 38,009 triangles · 0.813 MB · sci-fi · 1.8 m tallasset_search {"pick": "3e48e1203898426ab6b43a473a50448d"}
Credit: "Scifi Soldier" by Joel Wood (https://sketchfab.com/3d-models/3e48e1203898426ab6b43a473a50448d) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Prajurit Majapahit - Java soldier by udi_kreasindo3D
CC BY 4.0 · 77,194 triangles · 2.576 MB · realistic · 1.7 m tall · animated · riggedasset_search {"pick": "c29dc86f4a114b81aba3200604b1bd36"}
Credit: "Prajurit Majapahit - Java soldier" by udi_kreasindo3D (https://sketchfab.com/3d-models/c29dc86f4a114b81aba3200604b1bd36) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Aquatic Warrior Set By LEVINXGAMING by ᄂΣVIП X GΛMIПG
CC BY 4.0 · 14,460 triangles · 0.314 MB · sci-fi · 1.8 m tallasset_search {"pick": "72a2b441e7ad48c68199f38b6ce85cf1"}
Credit: "Aquatic Warrior Set By LEVINXGAMING" by ᄂΣVIП X GΛMIПG (https://sketchfab.com/3d-models/72a2b441e7ad48c68199f38b6ce85cf1) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

(50 Follower Special) Human | UA & GE soldiers by Sellpet
CC BY 4.0 · 15,020 triangles · 0.338 MB · low-poly · 1.8 m tall · riggedasset_search {"pick": "35e421e465d646f6b5ebff05c3b0a20a"}
Credit: "(50 Follower Special) Human | UA & GE soldiers" by Sellpet (https://sketchfab.com/3d-models/35e421e465d646f6b5ebff05c3b0a20a) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Little Warrior by joaobaltieri
CC BY 4.0 · 5,004 triangles · 0.362 MB · low-poly · 1.6 m tall · animated · riggedasset_search {"pick": "d01ddd9e69334725a57b3a146307d8ab"}
Credit: "Little Warrior" by joaobaltieri (https://sketchfab.com/3d-models/d01ddd9e69334725a57b3a146307d8ab) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Maya the forever warrior by Link69
CC BY 4.0 · 1,248 triangles · 0.014 MB · voxel · 1.4 m tallasset_search {"pick": "14feff2ca7ea4e738da396c593351057"}
Credit: "Maya the forever warrior" by Link69 (https://sketchfab.com/3d-models/14feff2ca7ea4e738da396c593351057) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Mini Warrior by pasqual
CC BY 4.0 · 2,090 triangles · 0.088 MB · voxel · 1.8 m tallasset_search {"pick": "5eeea38ba7cf40e3ab9a98bfc99b383e"}
Credit: "Mini Warrior" by pasqual (https://sketchfab.com/3d-models/5eeea38ba7cf40e3ab9a98bfc99b383e) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Female Soldier by benhimarthi18
CC BY 4.0 · 22,942 triangles · 1.03 MB · realistic · 1.7 m tallasset_search {"pick": "b521a0935cb34975a7209420e06f8714"}
Credit: "Female Soldier" by benhimarthi18 (https://sketchfab.com/3d-models/b521a0935cb34975a7209420e06f8714) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Flamethrower Soldier Kitty by MauModel
CC BY 4.0 · 11,718 triangles · 0.468 MB · stylized · 1 m tallasset_search {"pick": "0fba3d1cacd04555b9776b92df136328"}
Credit: "Flamethrower Soldier Kitty" by MauModel (https://sketchfab.com/3d-models/0fba3d1cacd04555b9776b92df136328) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Dwarf Warrior (Rigged) by Yanez Designs
CC BY 4.0 · 1,393 triangles · 0.058 MB · low-poly · 1.2 m tall · animatedasset_search {"pick": "77abdcd81ac84b06955f6da03d96202c"}
Credit: "Low Poly Dwarf Warrior (Rigged)" by Yanez Designs (https://sketchfab.com/3d-models/77abdcd81ac84b06955f6da03d96202c) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Medieval Soldier by Merto
CC BY 4.0 · 8,740 triangles · 0.31 MB · stylized · 1.8 m tall · animated · riggedasset_search {"pick": "10081d39f6a340509ece409073a9213f"}
Credit: "Medieval Soldier" by Merto (https://sketchfab.com/3d-models/10081d39f6a340509ece409073a9213f) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Soldier character by Mahdi.G
CC BY 4.0 · 5,188 triangles · 0.079 MB · low-poly · 1.8 m tallasset_search {"pick": "c5cfbe8ee9c14d25a7fa1c018c045f2b"}
Credit: "Soldier character" by Mahdi.G (https://sketchfab.com/3d-models/c5cfbe8ee9c14d25a7fa1c018c045f2b) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Dark Screen Soldier by TheLuckiestKID2010
CC BY 4.0 · 144 triangles · 0.007 MB · voxel · 1.8 m tallasset_search {"pick": "611c976249b44bd9a763924e8a5f71e3"}
Credit: "Dark Screen Soldier" by TheLuckiestKID2010 (https://sketchfab.com/3d-models/611c976249b44bd9a763924e8a5f71e3) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Russian soldier by Chernov-Egor
CC BY 4.0 · 12,522 triangles · 0.6 MB · realistic · 1.75 m tallasset_search {"pick": "16037daadcfe4715a4ebce0f2fc6f675"}
Credit: "Russian soldier" by Chernov-Egor (https://sketchfab.com/3d-models/16037daadcfe4715a4ebce0f2fc6f675) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Biohazard Soldier Kitty by MauModel
CC BY 4.0 · 15,321 triangles · 0.578 MB · stylized · 0.9 m tallasset_search {"pick": "e75f1b7176a64d808795c37b60e0fd46"}
Credit: "Biohazard Soldier Kitty" by MauModel (https://sketchfab.com/3d-models/e75f1b7176a64d808795c37b60e0fd46) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Shaman Warrior by MaxAlyanak
CC BY 4.0 · 2,204 triangles · 0.069 MB · low-poly · 1.8 m tallasset_search {"pick": "e90668b488344324bdd8537fdaaff5ff"}
Credit: "Shaman Warrior" by MaxAlyanak (https://sketchfab.com/3d-models/e90668b488344324bdd8537fdaaff5ff) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

240: Chinese Warrior Statue - Unknown Artist by alexdelker
CC BY 4.0 · 62,253 triangles · 0.49 MB · scanned · 1.9 m tallasset_search {"pick": "e71dc521b7ae46ef94858cddbfad1912"}
Credit: "240: Chinese Warrior Statue - Unknown Artist" by alexdelker (https://sketchfab.com/3d-models/e71dc521b7ae46ef94858cddbfad1912) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Cat-warriors by 28kpaul
CC BY 4.0 · 9,560 triangles · 0.534 MB · stylized · 1.7 m tallasset_search {"pick": "2e1a34d1b6cf4d8b8a91f087250a11f3"}
Credit: "Cat-warriors" by 28kpaul (https://sketchfab.com/3d-models/2e1a34d1b6cf4d8b8a91f087250a11f3) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.
Related
- 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)
- Free animated character 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.