# Free windmill 3D models for three.js (GLB, CC BY)
https://paprika3d.com/docs/models/windmills

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.

```text
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:

```js
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](https://paprika3d.com/media/assets/2c54d1c79d27428aaea4d0909cae0635.webp)

**[Windmill](https://sketchfab.com/3d-models/2c54d1c79d27428aaea4d0909cae0635)** by [bobrik00](https://sketchfab.com/bobrik00)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 1,966 triangles · 0.404 MB · low-poly · 10 m tall<br>`asset_search {"pick": "2c54d1c79d27428aaea4d0909cae0635"}`

<small>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.</small>

![Asset Windmill #MedievalFantasyAssets](https://paprika3d.com/media/assets/bee28faec6bb4611a6119ac21f599c8b.webp)

**[Asset Windmill #MedievalFantasyAssets](https://sketchfab.com/3d-models/bee28faec6bb4611a6119ac21f599c8b)** by [Adrian](https://sketchfab.com/adrian.slusarek)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 679 triangles · 0.025 MB · stylized · 10 m tall<br>`asset_search {"pick": "bee28faec6bb4611a6119ac21f599c8b"}`

<small>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.</small>

![Desert Nomad Windmill](https://paprika3d.com/media/assets/1c4ca424eb394fa4bdcd81545f392aba.webp)

**[Desert Nomad Windmill](https://sketchfab.com/3d-models/1c4ca424eb394fa4bdcd81545f392aba)** by [BenVanhaelst](https://sketchfab.com/BenVanhaelst)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 10,176 triangles · 1.077 MB · stylized · 9 m tall · animated<br>`asset_search {"pick": "1c4ca424eb394fa4bdcd81545f392aba"}`

<small>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.</small>

![Voxel Training - Windmill](https://paprika3d.com/media/assets/6f471032ebd14c778cc5c985030a2554.webp)

**[Voxel Training - Windmill](https://sketchfab.com/3d-models/6f471032ebd14c778cc5c985030a2554)** by [Drakeny](https://sketchfab.com/Drakeny)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 7,112 triangles · 0.049 MB · voxel · 10 m tall<br>`asset_search {"pick": "6f471032ebd14c778cc5c985030a2554"}`

<small>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.</small>

![Windmill Stylized](https://paprika3d.com/media/assets/a7780e3667954bbf97bb619cb8a3e272.webp)

**[Windmill Stylized](https://sketchfab.com/3d-models/a7780e3667954bbf97bb619cb8a3e272)** by [\_Alexandr](https://sketchfab.com/a_l_e_x_a_n_d_e_r)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 4,299 triangles · 0.277 MB · toon · 8 m tall · animated · rigged<br>`asset_search {"pick": "a7780e3667954bbf97bb619cb8a3e272"}`

<small>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.</small>

![-Game ready- Stylized Fox Village Windmill](https://paprika3d.com/media/assets/29d7de4a599047b9b9c85ae64153f916.webp)

**[-Game ready- Stylized Fox Village Windmill](https://sketchfab.com/3d-models/29d7de4a599047b9b9c85ae64153f916)** by [Misa](https://sketchfab.com/LisaRichter)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 3,247 triangles · 0.659 MB · stylized · 10 m tall<br>`asset_search {"pick": "29d7de4a599047b9b9c85ae64153f916"}`

<small>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.</small>

![Ancient Windmill](https://paprika3d.com/media/assets/429be92f26d64734b562e42f440aa81f.webp)

**[Ancient Windmill](https://sketchfab.com/3d-models/429be92f26d64734b562e42f440aa81f)** by [ThomasBoone](https://sketchfab.com/ThomasBoone)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 8,332 triangles · 0.498 MB · stylized · 10 m tall<br>`asset_search {"pick": "429be92f26d64734b562e42f440aa81f"}`

<small>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.</small>

![Handpainted Windmill Tower](https://paprika3d.com/media/assets/eae1631dbc4c4e8581de9ffb02cff1f2.webp)

**[Handpainted Windmill Tower](https://sketchfab.com/3d-models/eae1631dbc4c4e8581de9ffb02cff1f2)** by [Théo Lerbeil](https://sketchfab.com/supertheo)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 6,622 triangles · 0.21 MB · low-poly · 8 m tall<br>`asset_search {"pick": "eae1631dbc4c4e8581de9ffb02cff1f2"}`

<small>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.</small>

![Victorian windmill](https://paprika3d.com/media/assets/50e73be64ec24464baf911c3b0e3abdd.webp)

**[Victorian windmill](https://sketchfab.com/3d-models/50e73be64ec24464baf911c3b0e3abdd)** by [Yubel](https://sketchfab.com/Yubel)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 70,557 triangles · 0.388 MB · low-poly · 0.15 m tall<br>`asset_search {"pick": "50e73be64ec24464baf911c3b0e3abdd"}`

<small>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.</small>

![Windmill from Poly by Google](https://paprika3d.com/media/assets/96db2416305249569097ce5d8a1f8e1d.webp)

**[Windmill from Poly by Google](https://sketchfab.com/3d-models/96db2416305249569097ce5d8a1f8e1d)** by [IronEqual](https://sketchfab.com/ie-niels)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 525 triangles · 0.008 MB · low-poly · 10 m tall<br>`asset_search {"pick": "96db2416305249569097ce5d8a1f8e1d"}`

<small>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.</small>

![Windmill ( Animated )](https://paprika3d.com/media/assets/6ce5667e8d5c47068ea13196036efd52.webp)

**[Windmill ( Animated )](https://sketchfab.com/3d-models/6ce5667e8d5c47068ea13196036efd52)** by [Adrian Hage](https://sketchfab.com/data3anshow)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 844 triangles · 0.026 MB · low-poly · 20 m tall · animated<br>`asset_search {"pick": "6ce5667e8d5c47068ea13196036efd52"}`

<small>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.</small>

![Episode 65 - WindMill](https://paprika3d.com/media/assets/19d436c8acea45cd914c035d2aff9b54.webp)

**[Episode 65 - WindMill](https://sketchfab.com/3d-models/19d436c8acea45cd914c035d2aff9b54)** by [dartuchiwa](https://sketchfab.com/dartuchiwa)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 3,464 triangles · 0.054 MB · low-poly · 10 m tall · animated<br>`asset_search {"pick": "19d436c8acea45cd914c035d2aff9b54"}`

<small>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.</small>

![Windmill 3D](https://paprika3d.com/media/assets/33b2debd464f465b917736873680a050.webp)

**[Windmill 3D](https://sketchfab.com/3d-models/33b2debd464f465b917736873680a050)** by [ana_stakflett](https://sketchfab.com/ana.stakflett)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 2,083 triangles · 0.04 MB · low-poly · 12 m tall · animated<br>`asset_search {"pick": "33b2debd464f465b917736873680a050"}`

<small>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.</small>

![COC02 Windmill](https://paprika3d.com/media/assets/dcbec8b00ad64e43a8894893809765d7.webp)

**[COC02 Windmill](https://sketchfab.com/3d-models/dcbec8b00ad64e43a8894893809765d7)** by [pymetime](https://sketchfab.com/pymetime)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 15,291 triangles · 0.217 MB · stylized · 8 m tall<br>`asset_search {"pick": "dcbec8b00ad64e43a8894893809765d7"}`

<small>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.</small>

![Low Poly Stylised Windmill](https://paprika3d.com/media/assets/dd0d65a5c6f643a2af2e930c640d45f4.webp)

**[Low Poly Stylised Windmill](https://sketchfab.com/3d-models/dd0d65a5c6f643a2af2e930c640d45f4)** by [Weronika 'Ronii' Nowicka](https://sketchfab.com/roniinowicka)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 373 triangles · 0.089 MB · stylized · 10 m tall<br>`asset_search {"pick": "dd0d65a5c6f643a2af2e930c640d45f4"}`

<small>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.</small>

![Low Poly Portuguese Windmill](https://paprika3d.com/media/assets/1ef2cbaa569d45a098b5e337bdef4b00.webp)

**[Low Poly Portuguese Windmill](https://sketchfab.com/3d-models/1ef2cbaa569d45a098b5e337bdef4b00)** by [lexferreira89](https://sketchfab.com/lexferreira89)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 1,684 triangles · 0.282 MB · low-poly · 10 m tall<br>`asset_search {"pick": "1ef2cbaa569d45a098b5e337bdef4b00"}`

<small>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.</small>

![WindMill_lp](https://paprika3d.com/media/assets/1f1d4131b7bb41f38e5b01f2d7bf635b.webp)

**[WindMill_lp](https://sketchfab.com/3d-models/1f1d4131b7bb41f38e5b01f2d7bf635b)** by [Sacr11](https://sketchfab.com/codigoea)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 994 triangles · 0.018 MB · low-poly · 6 m tall<br>`asset_search {"pick": "1f1d4131b7bb41f38e5b01f2d7bf635b"}`

<small>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.</small>

![Low Poly Island with Windmill](https://paprika3d.com/media/assets/860935f99b5d49bc880c8b08a2f06a94.webp)

**[Low Poly Island with Windmill](https://sketchfab.com/3d-models/860935f99b5d49bc880c8b08a2f06a94)** by [Jayasurya Aasaithambi](https://sketchfab.com/jayasurya00098)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 688 triangles · 0.014 MB · low-poly · 8 m tall<br>`asset_search {"pick": "860935f99b5d49bc880c8b08a2f06a94"}`

<small>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.</small>

![Detailed Windmill](https://paprika3d.com/media/assets/f455e63508424d03968b24da03891912.webp)

**[Detailed Windmill](https://sketchfab.com/3d-models/f455e63508424d03968b24da03891912)** by [ajmason3D](https://sketchfab.com/ajmason46)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 32,896 triangles · 0.325 MB · stylized · 12 m tall<br>`asset_search {"pick": "f455e63508424d03968b24da03891912"}`

<small>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.</small>

![Windmill - Rise of Atlantis](https://paprika3d.com/media/assets/6e940b0232ed4c61bf4d560dd4c3e9d2.webp)

**[Windmill - Rise of Atlantis](https://sketchfab.com/3d-models/6e940b0232ed4c61bf4d560dd4c3e9d2)** by [Kathrin&Christian](https://sketchfab.com/extracrispi)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 211 triangles · 0.067 MB · stylized · 8 m tall<br>`asset_search {"pick": "6e940b0232ed4c61bf4d560dd4c3e9d2"}`

<small>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.</small>

![windmill_draft](https://paprika3d.com/media/assets/d9a913f6827c4337a666af1256cf10c6.webp)

**[windmill_draft](https://sketchfab.com/3d-models/d9a913f6827c4337a666af1256cf10c6)** by [Erin_Nohai](https://sketchfab.com/Erin_Nohai)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 12,545 triangles · 0.115 MB · stylized · 10 m tall<br>`asset_search {"pick": "d9a913f6827c4337a666af1256cf10c6"}`

<small>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.</small>

![Wind Mill](https://paprika3d.com/media/assets/48dbd301371f43b4943727e09bebc636.webp)

**[Wind Mill](https://sketchfab.com/3d-models/48dbd301371f43b4943727e09bebc636)** by [Carlos.Maciel](https://sketchfab.com/Carlos.Maciel)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 88,511 triangles · 1.394 MB · sci-fi · 1 m tall<br>`asset_search {"pick": "48dbd301371f43b4943727e09bebc636"}`

<small>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.</small>

![Junk Tower](https://paprika3d.com/media/assets/bc8fa17135b54d20928c4a12213329fa.webp)

**[Junk Tower](https://sketchfab.com/3d-models/bc8fa17135b54d20928c4a12213329fa)** by [AbsoluteMadLadd](https://sketchfab.com/AbsoluteMadLadd)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 31,822 triangles · 0.941 MB · stylized · 10 m tall<br>`asset_search {"pick": "bc8fa17135b54d20928c4a12213329fa"}`

<small>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.</small>

![House](https://paprika3d.com/media/assets/72b40b95e0574fab92efc350196ea2fc.webp)

**[House](https://sketchfab.com/3d-models/72b40b95e0574fab92efc350196ea2fc)** by [Gary](https://sketchfab.com/1084c013)<br>[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) · 2,526 triangles · 0.119 MB · stylized · 8 m tall<br>`asset_search {"pick": "72b40b95e0574fab92efc350196ea2fc"}`

<small>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.</small>

## Related

- [Free house 3D models for three.js (GLB, CC BY)](https://paprika3d.com/docs/models/houses)
- [Free castle 3D models for three.js (GLB, CC BY)](https://paprika3d.com/docs/models/castles)
- [Free door 3D models for three.js (GLB, CC BY)](https://paprika3d.com/docs/models/doors)

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.

Updated 2026-10-28.
