Free windmill 3D models for three.js (GLB, CC BY)
24 free windmills for three.js from the 117 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 117 windmills 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.
114 of the 117 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 6,280 triangles, with the middle half between 2,080 and 20,600, and the median file is 0.18 MB, with nine in ten at most 0.8 MB. The median one stands 10 m tall at real size. None carries a texture over 1024 px. 16 are animated and 2 rigged. The most common styles are stylized (65), low-poly (33) and realistic (8).
Windmills in a three.js scene
The point of a windmill is its turning sails. In the 16 animated files the sails kept their own node and the clip turns them: play it with an AnimationMixer and set timeScale on the action to match your wind. In a static windmill the sails may have been merged into the tower where they shared its material; where they did not, they are a separate mesh you can turn, but its origin is probably not at the hub. Measure the hub with new THREE.Box3().setFromObject(sails).getCenter(new THREE.Vector3()), put an empty Object3D there, move the sails into it with attach() and spin that pivot.
For a field of windmills, give the towers one InstancedMesh and the sails another, with the sail geometry centred on its hub, and turn every sail in the vertex shader by time: a hundred windmills then cost two draw calls and no matrix updates per frame. A median height of 10 m suits a landscape view, where they read from afar.
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": "windmill", "cwd": "."}
asset_search {"pick": "2c54d1c79d27428aaea4d0909cae0635", "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/windmill-2c54d1.glb');
scene.add(gltf.scene);
24 windmills to start from
Chosen from the 114 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.

Windmill by bobrik00
CC BY 4.0 · 1,966 triangles · 0.404 MB · low-poly · 10 m tallasset_search {"pick": "2c54d1c79d27428aaea4d0909cae0635"}
Credit: "Windmill" by bobrik00 (https://sketchfab.com/3d-models/2c54d1c79d27428aaea4d0909cae0635) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Asset Windmill #MedievalFantasyAssets by Adrian
CC BY 4.0 · 679 triangles · 0.025 MB · stylized · 10 m tallasset_search {"pick": "bee28faec6bb4611a6119ac21f599c8b"}
Credit: "Asset Windmill #MedievalFantasyAssets" by Adrian (https://sketchfab.com/3d-models/bee28faec6bb4611a6119ac21f599c8b) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Desert Nomad Windmill by BenVanhaelst
CC BY 4.0 · 10,176 triangles · 1.077 MB · stylized · 9 m tall · animatedasset_search {"pick": "1c4ca424eb394fa4bdcd81545f392aba"}
Credit: "Desert Nomad Windmill" by BenVanhaelst (https://sketchfab.com/3d-models/1c4ca424eb394fa4bdcd81545f392aba) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Voxel Training - Windmill by Drakeny
CC BY 4.0 · 7,112 triangles · 0.049 MB · voxel · 10 m tallasset_search {"pick": "6f471032ebd14c778cc5c985030a2554"}
Credit: "Voxel Training - Windmill" by Drakeny (https://sketchfab.com/3d-models/6f471032ebd14c778cc5c985030a2554) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Windmill Stylized by _Alexandr
CC BY 4.0 · 4,299 triangles · 0.277 MB · toon · 8 m tall · animated · riggedasset_search {"pick": "a7780e3667954bbf97bb619cb8a3e272"}
Credit: "Windmill Stylized" by _Alexandr (https://sketchfab.com/3d-models/a7780e3667954bbf97bb619cb8a3e272) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

-Game ready- Stylized Fox Village Windmill by Misa
CC BY 4.0 · 3,247 triangles · 0.659 MB · stylized · 10 m tallasset_search {"pick": "29d7de4a599047b9b9c85ae64153f916"}
Credit: "-Game ready- Stylized Fox Village Windmill" by Misa (https://sketchfab.com/3d-models/29d7de4a599047b9b9c85ae64153f916) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Ancient Windmill by ThomasBoone
CC BY 4.0 · 8,332 triangles · 0.498 MB · stylized · 10 m tallasset_search {"pick": "429be92f26d64734b562e42f440aa81f"}
Credit: "Ancient Windmill" by ThomasBoone (https://sketchfab.com/3d-models/429be92f26d64734b562e42f440aa81f) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Handpainted Windmill Tower by Théo Lerbeil
CC BY 4.0 · 6,622 triangles · 0.21 MB · low-poly · 8 m tallasset_search {"pick": "eae1631dbc4c4e8581de9ffb02cff1f2"}
Credit: "Handpainted Windmill Tower" by Théo Lerbeil (https://sketchfab.com/3d-models/eae1631dbc4c4e8581de9ffb02cff1f2) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Victorian windmill by Yubel
CC BY 4.0 · 70,557 triangles · 0.388 MB · low-poly · 0.15 m tallasset_search {"pick": "50e73be64ec24464baf911c3b0e3abdd"}
Credit: "Victorian windmill" by Yubel (https://sketchfab.com/3d-models/50e73be64ec24464baf911c3b0e3abdd) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Windmill from Poly by Google by IronEqual
CC BY 4.0 · 525 triangles · 0.008 MB · low-poly · 10 m tallasset_search {"pick": "96db2416305249569097ce5d8a1f8e1d"}
Credit: "Windmill from Poly by Google" by IronEqual (https://sketchfab.com/3d-models/96db2416305249569097ce5d8a1f8e1d) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Windmill ( Animated ) by Adrian Hage
CC BY 4.0 · 844 triangles · 0.026 MB · low-poly · 20 m tall · animatedasset_search {"pick": "6ce5667e8d5c47068ea13196036efd52"}
Credit: "Windmill ( Animated )" by Adrian Hage (https://sketchfab.com/3d-models/6ce5667e8d5c47068ea13196036efd52) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Episode 65 - WindMill by dartuchiwa
CC BY 4.0 · 3,464 triangles · 0.054 MB · low-poly · 10 m tall · animatedasset_search {"pick": "19d436c8acea45cd914c035d2aff9b54"}
Credit: "Episode 65 - WindMill" by dartuchiwa (https://sketchfab.com/3d-models/19d436c8acea45cd914c035d2aff9b54) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Windmill 3D by ana_stakflett
CC BY 4.0 · 2,083 triangles · 0.04 MB · low-poly · 12 m tall · animatedasset_search {"pick": "33b2debd464f465b917736873680a050"}
Credit: "Windmill 3D" by ana_stakflett (https://sketchfab.com/3d-models/33b2debd464f465b917736873680a050) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

COC02 Windmill by pymetime
CC BY 4.0 · 15,291 triangles · 0.217 MB · stylized · 8 m tallasset_search {"pick": "dcbec8b00ad64e43a8894893809765d7"}
Credit: "COC02 Windmill" by pymetime (https://sketchfab.com/3d-models/dcbec8b00ad64e43a8894893809765d7) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Stylised Windmill by Weronika 'Ronii' Nowicka
CC BY 4.0 · 373 triangles · 0.089 MB · stylized · 10 m tallasset_search {"pick": "dd0d65a5c6f643a2af2e930c640d45f4"}
Credit: "Low Poly Stylised Windmill" by Weronika 'Ronii' Nowicka (https://sketchfab.com/3d-models/dd0d65a5c6f643a2af2e930c640d45f4) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Portuguese Windmill by lexferreira89
CC BY 4.0 · 1,684 triangles · 0.282 MB · low-poly · 10 m tallasset_search {"pick": "1ef2cbaa569d45a098b5e337bdef4b00"}
Credit: "Low Poly Portuguese Windmill" by lexferreira89 (https://sketchfab.com/3d-models/1ef2cbaa569d45a098b5e337bdef4b00) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

WindMill_lp by Sacr11
CC BY 4.0 · 994 triangles · 0.018 MB · low-poly · 6 m tallasset_search {"pick": "1f1d4131b7bb41f38e5b01f2d7bf635b"}
Credit: "WindMill_lp" by Sacr11 (https://sketchfab.com/3d-models/1f1d4131b7bb41f38e5b01f2d7bf635b) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Low Poly Island with Windmill by Jayasurya Aasaithambi
CC BY 4.0 · 688 triangles · 0.014 MB · low-poly · 8 m tallasset_search {"pick": "860935f99b5d49bc880c8b08a2f06a94"}
Credit: "Low Poly Island with Windmill" by Jayasurya Aasaithambi (https://sketchfab.com/3d-models/860935f99b5d49bc880c8b08a2f06a94) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Detailed Windmill by ajmason3D
CC BY 4.0 · 32,896 triangles · 0.325 MB · stylized · 12 m tallasset_search {"pick": "f455e63508424d03968b24da03891912"}
Credit: "Detailed Windmill" by ajmason3D (https://sketchfab.com/3d-models/f455e63508424d03968b24da03891912) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Windmill - Rise of Atlantis by Kathrin&Christian
CC BY 4.0 · 211 triangles · 0.067 MB · stylized · 8 m tallasset_search {"pick": "6e940b0232ed4c61bf4d560dd4c3e9d2"}
Credit: "Windmill - Rise of Atlantis" by Kathrin&Christian (https://sketchfab.com/3d-models/6e940b0232ed4c61bf4d560dd4c3e9d2) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

windmill_draft by Erin_Nohai
CC BY 4.0 · 12,545 triangles · 0.115 MB · stylized · 10 m tallasset_search {"pick": "d9a913f6827c4337a666af1256cf10c6"}
Credit: "windmill_draft" by Erin_Nohai (https://sketchfab.com/3d-models/d9a913f6827c4337a666af1256cf10c6) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Wind Mill by Carlos.Maciel
CC BY 4.0 · 88,511 triangles · 1.394 MB · sci-fi · 1 m tallasset_search {"pick": "48dbd301371f43b4943727e09bebc636"}
Credit: "Wind Mill" by Carlos.Maciel (https://sketchfab.com/3d-models/48dbd301371f43b4943727e09bebc636) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

Junk Tower by AbsoluteMadLadd
CC BY 4.0 · 31,822 triangles · 0.941 MB · stylized · 10 m tallasset_search {"pick": "bc8fa17135b54d20928c4a12213329fa"}
Credit: "Junk Tower" by AbsoluteMadLadd (https://sketchfab.com/3d-models/bc8fa17135b54d20928c4a12213329fa) is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Optimized for the web by paprika3D.

House by Gary
CC BY 4.0 · 2,526 triangles · 0.119 MB · stylized · 8 m tallasset_search {"pick": "72b40b95e0574fab92efc350196ea2fc"}
Credit: "House" by Gary (https://sketchfab.com/3d-models/72b40b95e0574fab92efc350196ea2fc) 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 castle 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.