Free castle 3D models for three.js (GLB, CC BY)
24 free castles for three.js from the 218 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 218 castles 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.
198 of the 218 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 8,990 triangles, with the middle half between 2,380 and 31,900, and the median file is 0.19 MB, with nine in ten at most 1 MB. The median one stands 12 m tall at real size. None carries a texture over 1024 px. 15 are animated and 2 rigged. The most common styles are stylized (132), low-poly (37) and realistic (23).
Castles in a three.js scene
A castle is a building you walk around and often into, so collision matters more than for other props. The three.js addons hold the pieces: build an Octree from the castle with octree.fromGraphNode(gltf.scene) (from three/addons/math/Octree.js), move the player as a Capsule (three/addons/math/Capsule.js), and test it with octree.capsuleIntersect() each step, as the games_fps example does. Walls, stairs and ramps then work with no physics engine. fromGraphNode reads each mesh's geometry with its world matrix and ignores instance matrices, so collide against instanced walls through a merged copy or simple boxes.
Battlements, towers and posts that appeared five or more times in a source file were turned into GPU instances by the converter, and GLTFLoader loads those as an InstancedMesh, so a long wall stays cheap. The median castle here reaches 12 m. A stylized look dominates (132 of the 198 that pass), and many are toy-like or blocky, so choose by the style of the rest of your scene.
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": "castle", "cwd": "."}
asset_search {"pick": "516b5c8f5b9b43a590f0917b793a7b6e", "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/wk6-castle-modeling-yoder-evan-516b5c.glb');
scene.add(gltf.scene);
24 castles to start from
Chosen from the 198 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.

Wk6 Castle Modeling Yoder Evan by eyoder312
CC BY 4.0 · 17,200 triangles · 0.475 MB · realistic · 20 m tallasset_search {"pick": "516b5c8f5b9b43a590f0917b793a7b6e"}
Credit: "Wk6 Castle Modeling Yoder Evan" by eyoder312 (https://sketchfab.com/3d-models/516b5c8f5b9b43a590f0917b793a7b6e) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Castle by wang5134
CC BY 4.0 · 9,246 triangles · 0.155 MB · stylized · 20 m tallasset_search {"pick": "748d0b423cbe430182872722192d1a21"}
Credit: "Castle" by wang5134 (https://sketchfab.com/3d-models/748d0b423cbe430182872722192d1a21) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Wk6a_Castle_Castllo by castil79
CC BY 4.0 · 52,603 triangles · 1.154 MB · low-poly · 15 m tallasset_search {"pick": "c5b1f0aa66d048d3a1a5dc7a060b46ab"}
Credit: "Wk6a_Castle_Castllo" by castil79 (https://sketchfab.com/3d-models/c5b1f0aa66d048d3a1a5dc7a060b46ab) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Assignment Castle by michaelweixianghuang
CC BY 4.0 · 98,633 triangles · 0.923 MB · stylized · 20 m tallasset_search {"pick": "27c7a89ef76740138da0cdc724bebbe6"}
Credit: "Assignment Castle" by michaelweixianghuang (https://sketchfab.com/3d-models/27c7a89ef76740138da0cdc724bebbe6) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Block Castle by Aleschyr
CC BY 4.0 · 20,326 triangles · 0.23 MB · stylized · 5 m tallasset_search {"pick": "b5bb74d1b3ed4ba8be6b28624e530098"}
Credit: "Block Castle" by Aleschyr (https://sketchfab.com/3d-models/b5bb74d1b3ed4ba8be6b28624e530098) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Mountaintop Desert Castle by dudecon
CC BY 4.0 · 11,446 triangles · 0.359 MB · low-poly · 30 m tallasset_search {"pick": "8c7e0cb5e5ae4789865294e53aaaee3e"}
Credit: "Mountaintop Desert Castle" by dudecon (https://sketchfab.com/3d-models/8c7e0cb5e5ae4789865294e53aaaee3e) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Castle with moat by tom2445
CC BY 4.0 · 14,122 triangles · 0.994 MB · stylized · 20 m tallasset_search {"pick": "efa7663fdd6a455b8f2a2c2f86ec8f2d"}
Credit: "Castle with moat" by tom2445 (https://sketchfab.com/3d-models/efa7663fdd6a455b8f2a2c2f86ec8f2d) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

WK 7B Castle by stahl22
CC BY 4.0 · 8,696 triangles · 0.114 MB · stylized · 6 m tallasset_search {"pick": "332142c041fa443486625898296ec8fe"}
Credit: "WK 7B Castle" by stahl22 (https://sketchfab.com/3d-models/332142c041fa443486625898296ec8fe) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Wooden_Castle by mickmimic
CC BY 4.0 · 14,742 triangles · 0.181 MB · stylized · 15 m tallasset_search {"pick": "29fac935b6984498977832bcce0b1ffe"}
Credit: "Wooden_Castle" by mickmimic (https://sketchfab.com/3d-models/29fac935b6984498977832bcce0b1ffe) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Castle 3D Model by JoshGarber
CC BY 4.0 · 57,103 triangles · 3.19 MB · stylized · 20 m tallasset_search {"pick": "23eb94cac33d4099b7185a81bdc038e4"}
Credit: "Castle 3D Model" by JoshGarber (https://sketchfab.com/3d-models/23eb94cac33d4099b7185a81bdc038e4) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

wk7_castle_haichao by haichao233
CC BY 4.0 · 13,576 triangles · 0.163 MB · stylized · 10 m tallasset_search {"pick": "3f834a6a14ac4117927e1508012c0f7a"}
Credit: "wk7_castle_haichao" by haichao233 (https://sketchfab.com/3d-models/3f834a6a14ac4117927e1508012c0f7a) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

fantasy castle by eileenlingad
CC BY 4.0 · 34,695 triangles · 0.916 MB · stylized · 25 m tallasset_search {"pick": "33a28c8d4f1647b6b9c5a5bdcf6a64fd"}
Credit: "fantasy castle" by eileenlingad (https://sketchfab.com/3d-models/33a28c8d4f1647b6b9c5a5bdcf6a64fd) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Simple castle Tower by Latte113
CC BY 4.0 · 8,430 triangles · 0.086 MB · low-poly · 10 m tallasset_search {"pick": "9c57f4e2d52845058a6a93f44cc999d9"}
Credit: "Simple castle Tower" by Latte113 (https://sketchfab.com/3d-models/9c57f4e2d52845058a6a93f44cc999d9) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Wooden Block Castle by hthambiah3D
CC BY 4.0 · 15,264 triangles · 0.165 MB · stylized · 8 m tallasset_search {"pick": "60b267d0c806499a96161b4bca125029"}
Credit: "Wooden Block Castle" by hthambiah3D (https://sketchfab.com/3d-models/60b267d0c806499a96161b4bca125029) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Week7_castle_chasse_wilson_3057 by Chase M. Wilson
CC BY 4.0 · 12,174 triangles · 0.147 MB · stylized · 10 m tallasset_search {"pick": "14911adc13e84c5e96001469fb9d006e"}
Credit: "Week7_castle_chasse_wilson_3057" by Chase M. Wilson (https://sketchfab.com/3d-models/14911adc13e84c5e96001469fb9d006e) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

UV Castle by zak
CC BY 4.0 · 1,304 triangles · 0.279 MB · stylized · 15 m tallasset_search {"pick": "a19522bb246b45778e8777e21ca02133"}
Credit: "UV Castle" by zak (https://sketchfab.com/3d-models/a19522bb246b45778e8777e21ca02133) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Wk6a Castle FBX Fulbright Veronica by Veronica Fulbright
CC BY 4.0 · 6,510 triangles · 0.14 MB · stylized · 2 m tallasset_search {"pick": "00ca8340092749a488f666b28569e124"}
Credit: "Wk6a Castle FBX Fulbright Veronica" by Veronica Fulbright (https://sketchfab.com/3d-models/00ca8340092749a488f666b28569e124) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Unit Block Castle by Xipeng Wang
CC BY 4.0 · 73,562 triangles · 0.125 MB · stylized · 5 m tallasset_search {"pick": "00caa7d44cd74a7aa1437dabca770476"}
Credit: "Unit Block Castle" by Xipeng Wang (https://sketchfab.com/3d-models/00caa7d44cd74a7aa1437dabca770476) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

TinkerCad Castle by MrSpock2
CC BY 4.0 · 2,231 triangles · 0.021 MB · low-poly · 12 m tallasset_search {"pick": "3a3947b1c9244f1a8d8cd642764a861f"}
Credit: "TinkerCad Castle" by MrSpock2 (https://sketchfab.com/3d-models/3a3947b1c9244f1a8d8cd642764a861f) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Losted Castle by genivul72
CC BY 4.0 · 19,546 triangles · 0.144 MB · voxel · 8 m tallasset_search {"pick": "afb8da932f60468f9dff9814528175f2"}
Credit: "Losted Castle" by genivul72 (https://sketchfab.com/3d-models/afb8da932f60468f9dff9814528175f2) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Mini Castle by charu
CC BY 4.0 · 1,548 triangles · 0.26 MB · low-poly · 6 m tallasset_search {"pick": "9ebea73775654b0d9b1e2ffbecf091e7"}
Credit: "Mini Castle" by charu (https://sketchfab.com/3d-models/9ebea73775654b0d9b1e2ffbecf091e7) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.
![Fougères Castle Square Tower Gate [France]](https://paprika3d.com/media/assets/ce24cebe55c34d43b2852f12b9dbaffd.webp)
Fougères Castle Square Tower Gate [France] by Lost Gecko
CC BY 4.0 · 442 triangles · 0.27 MB · low-poly · 20 m tallasset_search {"pick": "ce24cebe55c34d43b2852f12b9dbaffd"}
Credit: "Fougères Castle Square Tower Gate [France]" by Lost Gecko (https://sketchfab.com/3d-models/ce24cebe55c34d43b2852f12b9dbaffd) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Castle from Poly by Google by IronEqual
CC BY 4.0 · 2,632 triangles · 0.032 MB · low-poly · 20 m tallasset_search {"pick": "b0e227363ded40e1845a407634d810cd"}
Credit: "Castle from Poly by Google" by IronEqual (https://sketchfab.com/3d-models/b0e227363ded40e1845a407634d810cd) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Floating Island Castle by Kelisei Ventura
CC BY 4.0 · 38,922 triangles · 1.212 MB · low-poly · 25 m tallasset_search {"pick": "5d1b9255af3c4bb791b4ac2e072c4696"}
Credit: "Low Poly Floating Island Castle" by Kelisei Ventura (https://sketchfab.com/3d-models/5d1b9255af3c4bb791b4ac2e072c4696) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.
Related
- Free house 3D models for three.js (GLB, CC BY)
- Free windmill 3D models for three.js (GLB, CC BY)
- Free door 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.