Polyfork BrowseKitsPricingBlog

Free 3D models for React Three Fiber

Free low-poly models that behave like React components. R3F renders three.js from JSX, and its <primitive> escape hatch takes any Object3D, so these modules drop straight in: no GLTFLoader, no useGLTF, no Suspense boundary and no loading state. Each one returns a ready THREE.Group the moment you call it, and the parameters it was built with arrive as props. Real-world scale, origin on the ground, one material and one draw call each. No attribution, commercial use allowed.

No loader, no SuspenseKnobs are propsOne draw call per modelNo attribution
Hanging Signboard low-poly 3D model
Hanging Signboard
free 412 tris
Data Tablet low-poly 3D model
Data Tablet
free 242 tris
Safety Railing Run low-poly 3D model
Safety Railing Run
free 420 tris
Croissant low-poly 3D model
Croissant
free 256 tris
Chili Pepper low-poly 3D model
Chili Pepper
free 224 tris
Access Ladder low-poly 3D model
Access Ladder
free 424 tris
Candy Cane low-poly 3D model
Candy Cane
free 276 tris
Acorn low-poly 3D model
Acorn
free 252 tris
Bus Shelter low-poly 3D model
Bus Shelter
free 308 tris
Wrench low-poly 3D model
Wrench
free 156 tris
Bike Rack low-poly 3D model
Bike Rack
free 480 tris
External Staircase low-poly 3D model
External Staircase
free 454 tris
Battery Wall Section low-poly 3D model
Battery Wall Section
free 576 tris
Trail Map Kiosk low-poly 3D model
Trail Map Kiosk
free 524 tris
Table Coral low-poly 3D model
Table Coral
free 396 tris
Steam plume low-poly 3D model
Steam plume
free 546 tris
Staghorn Coral low-poly 3D model
Staghorn Coral
free 552 tris
Small Reef Rock low-poly 3D model
Small Reef Rock
free 441 tris
Seagrass Tuft low-poly 3D model
Seagrass Tuft
free 365 tris
Rubble Scatter Decal low-poly 3D model
Rubble Scatter Decal
free 436 tris
Sea Whip low-poly 3D model
Sea Whip
free 568 tris
Sea Urchin low-poly 3D model
Sea Urchin
free 506 tris
Bicycle Parking Rack low-poly 3D model
Bicycle Parking Rack
free 460 tris
Pillar Coral low-poly 3D model
Pillar Coral
free 534 tris
Maple Tree low-poly 3D model
Maple Tree
free 548 tris
Forest Rabbit low-poly 3D model
Forest Rabbit
free 594 tris
Dock Platform Section low-poly 3D model
Dock Platform Section
free 410 tris
Dive Marker Buoy low-poly 3D model
Dive Marker Buoy
free 514 tris
Forest Outhouse low-poly 3D model
Forest Outhouse
free 568 tris
Campsite Picnic Table low-poly 3D model
Campsite Picnic Table
free 572 tris
Campfire Cook Tripod low-poly 3D model
Campfire Cook Tripod
free 518 tris
Birdhouse Post low-poly 3D model
Birdhouse Post
free 393 tris
Clay Bread Oven low-poly 3D model
Clay Bread Oven
free 564 tris
Admiralty Anchor low-poly 3D model
Admiralty Anchor
free 560 tris
Young Pine low-poly 3D model
Young Pine
free 414 tris
Clay Amphora low-poly 3D model
Clay Amphora
free 572 tris
Trail Signpost low-poly 3D model
Trail Signpost
free 420 tris
Coral Rubble Seabed Tile low-poly 3D model
Coral Rubble Seabed Tile
free 520 tris
Wildflower low-poly 3D model
Wildflower
free 405 tris
Survey Scanner low-poly 3D model
Survey Scanner
free 144 tris
Sample Container low-poly 3D model
Sample Container
free 272 tris
Tree Stump low-poly 3D model
Tree Stump
free 505 tris
Wooden Fence Gate low-poly 3D model
Wooden Fence Gate
free 408 tris
Wooden Fence Section low-poly 3D model
Wooden Fence Section
free 428 tris
Wooden Barrel low-poly 3D model
Wooden Barrel
free 596 tris
Train Engine low-poly 3D model
Train Engine
free 147 tris
Tomato low-poly 3D model
Tomato
free 107 tris
Wooden Bench low-poly 3D model
Wooden Bench
free 564 tris
Sword low-poly 3D model
Sword
free 82 tris
Broad Algae Frond low-poly 3D model
Broad Algae Frond
free 521 tris
Water Blob low-poly 3D model
Water Blob
free 320 tris
Tall Pine Tree low-poly 3D model
Tall Pine Tree
free 350 tris
Small Rock low-poly 3D model
Small Rock
free 202 tris
Rock Spire low-poly 3D model
Rock Spire
free 378 tris
Stone Fire Pit low-poly 3D model
Stone Fire Pit
free 584 tris
Slab Path Stone low-poly 3D model
Slab Path Stone
free 76 tris
Round Path Stone low-poly 3D model
Round Path Stone
free 52 tris
Grass Terrain Blob low-poly 3D model
Grass Terrain Blob
free 390 tris
Medium Rock low-poly 3D model
Medium Rock
free 173 tris
Lily Pad low-poly 3D model
Lily Pad
free 398 tris
Grass Tuft low-poly 3D model
Grass Tuft
free 368 tris
Log Plank Bridge low-poly 3D model
Log Plank Bridge
free 480 tris
Lantern Post low-poly 3D model
Lantern Post
free 482 tris
Dead Tree low-poly 3D model
Dead Tree
free 536 tris
Broadleaf Oak low-poly 3D model
Broadleaf Oak
free 457 tris
Dirt Terrain Blob low-poly 3D model
Dirt Terrain Blob
free 364 tris
Cattail Reed low-poly 3D model
Cattail Reed
free 388 tris
Fallen Log low-poly 3D model
Fallen Log
free 484 tris
Torii Gate low-poly 3D model
Torii Gate
free 440 tris
Large Boulder low-poly 3D model
Large Boulder
free 295 tris
Round Bush low-poly 3D model
Round Bush
free 512 tris
Wildflower plant low-poly 3D model
Wildflower plant
free 516 tris
Vegetable bed tile low-poly 3D model
Vegetable bed tile
free 594 tris
Leafy bush low-poly 3D model
Leafy bush
free 563 tris
Gravel tile low-poly 3D model
Gravel tile
free 548 tris
Field rock low-poly 3D model
Field rock
free 218 tris
Grass tuft low-poly 3D model
Grass tuft
free 532 tris
Two-Lane Street Tile low-poly 3D model
Two-Lane Street Tile
free 138 tris
Vertical Kanji Signboard low-poly 3D model
Vertical Kanji Signboard
free 330 tris
Asphalt Road Tile low-poly 3D model
Asphalt Road Tile
free 20 tris
Wooden Bench low-poly 3D model
Wooden Bench
free 374 tris
Tram Track Tile low-poly 3D model
Tram Track Tile
free 170 tris
Traffic Cone low-poly 3D model
Traffic Cone
free 376 tris
Tiled Roof Section low-poly 3D model
Tiled Roof Section
free 548 tris
Street Lamp low-poly 3D model
Street Lamp
free 378 tris
Street Bin low-poly 3D model
Street Bin
free 420 tris
Stone Fence Panel low-poly 3D model
Stone Fence Panel
free 400 tris
Guardrail Section low-poly 3D model
Guardrail Section
free 432 tris
Stone Lantern low-poly 3D model
Stone Lantern
free 528 tris
Meter Box low-poly 3D model
Meter Box
free 410 tris
Roller Shutter low-poly 3D model
Roller Shutter
free 400 tris
Offering Box low-poly 3D model
Offering Box
free 514 tris
Pavement Tile low-poly 3D model
Pavement Tile
free 396 tris
Red Post Box low-poly 3D model
Red Post Box
free 562 tris
Sandwich Board Sign low-poly 3D model
Sandwich Board Sign
free 362 tris
Noren Curtain low-poly 3D model
Noren Curtain
free 448 tris
Potted Shrub low-poly 3D model
Potted Shrub
free 530 tris
Fabric Awning low-poly 3D model
Fabric Awning
free 470 tris
Garden Rock low-poly 3D model
Garden Rock
free 340 tris
Flower Planter low-poly 3D model
Flower Planter
free 564 tris
Convex Traffic Mirror low-poly 3D model
Convex Traffic Mirror
free 502 tris
Beverage Crate low-poly 3D model
Beverage Crate
free 580 tris
Air-Con Unit low-poly 3D model
Air-Con Unit
free 480 tris
Alley Concrete Tile low-poly 3D model
Alley Concrete Tile
free 44 tris
Sea Stack low-poly 3D model
Sea Stack
free 571 tris
Tree Stump low-poly 3D model
Tree Stump
free 456 tris
Pie low-poly 3D model
Pie
free 256 tris
Treasure Chest low-poly 3D model
Treasure Chest
free 562 tris
Gingerbread Man low-poly 3D model
Gingerbread Man
free 280 tris
Layer Cake low-poly 3D model
Layer Cake
free 181 tris
Cookie low-poly 3D model
Cookie
free 174 tris
Small Rock low-poly 3D model
Small Rock
free 188 tris
Muffin low-poly 3D model
Muffin
free 162 tris
Serving Tongs low-poly 3D model
Serving Tongs
free 220 tris
Cupcake low-poly 3D model
Cupcake
free 154 tris
Power Wrench low-poly 3D model
Power Wrench
free 160 tris
Briefcase low-poly 3D model
Briefcase
free 332 tris
Coin Pouch low-poly 3D model
Coin Pouch
free 340 tris
Sand Terrain Blob low-poly 3D model
Sand Terrain Blob
free 539 tris
Small Path Stone low-poly 3D model
Small Path Stone
free 76 tris
Signpost low-poly 3D model
Signpost
free 404 tris
Pier Rope Railing low-poly 3D model
Pier Rope Railing
free 598 tris
Coffee Cup low-poly 3D model
Coffee Cup
free 300 tris
Palm Sapling low-poly 3D model
Palm Sapling
free 599 tris
Palisade Fence Section low-poly 3D model
Palisade Fence Section
free 464 tris
Mooring Post low-poly 3D model
Mooring Post
free 508 tris
Large Path Stone low-poly 3D model
Large Path Stone
free 80 tris
Grass Terrain Blob low-poly 3D model
Grass Terrain Blob
free 504 tris
Jolly Roger Pole low-poly 3D model
Jolly Roger Pole
free 508 tris
Gangplank low-poly 3D model
Gangplank
free 486 tris
Dock Lantern Post low-poly 3D model
Dock Lantern Post
free 246 tris
Driftwood Log low-poly 3D model
Driftwood Log
free 522 tris
Drying Net Rack low-poly 3D model
Drying Net Rack
free 576 tris
Cargo Sack low-poly 3D model
Cargo Sack
free 444 tris
Cannonball low-poly 3D model
Cannonball
free 338 tris
Cargo Crate low-poly 3D model
Cargo Crate
free 536 tris
Beach Grass Tuft low-poly 3D model
Beach Grass Tuft
free 494 tris
Large Coastal Boulder low-poly 3D model
Large Coastal Boulder
free 190 tris
Barrel low-poly 3D model
Barrel
free 552 tris
Sidewalk Tile low-poly 3D model
Sidewalk Tile
free 284 tris
Traffic Cone low-poly 3D model
Traffic Cone
free 200 tris
Steam Stack low-poly 3D model
Steam Stack
free 256 tris
Shop Awning low-poly 3D model
Shop Awning
free 180 tris
Street Tree low-poly 3D model
Street Tree
free 272 tris
Street Tile low-poly 3D model
Street Tile
free 188 tris
Street Sign Pole low-poly 3D model
Street Sign Pole
free 353 tris
Street Lamp low-poly 3D model
Street Lamp
free 344 tris
Scaffolding Section low-poly 3D model
Scaffolding Section
free 538 tris
Weather Mast low-poly 3D model
Weather Mast
free 502 tris
Surface Pipe Run low-poly 3D model
Surface Pipe Run
free 504 tris
Rover Tracks Decal low-poly 3D model
Rover Tracks Decal
free 544 tris
Survey Flag low-poly 3D model
Survey Flag
free 308 tris
Solar Array Rack low-poly 3D model
Solar Array Rack
free 510 tris
Supply Canister low-poly 3D model
Supply Canister
free 520 tris
Regolith Terrain Blob low-poly 3D model
Regolith Terrain Blob
free 572 tris
Regolith Mound low-poly 3D model
Regolith Mound
free 288 tris
Regolith Boulder low-poly 3D model
Regolith Boulder
free 275 tris
Radiator Panel low-poly 3D model
Radiator Panel
free 576 tris
Oxygen Tank low-poly 3D model
Oxygen Tank
free 322 tris
Ice Chunk low-poly 3D model
Ice Chunk
free 253 tris
Fire Escape Section low-poly 3D model
Fire Escape Section
free 588 tris
Horizontal Tank low-poly 3D model
Horizontal Tank
free 344 tris
Field Console low-poly 3D model
Field Console
free 396 tris
Tire low-poly 3D model
Tire
free 520 tris
Street-lamp low-poly 3D model
Street-lamp
free 422 tris
Road-tile low-poly 3D model
Road-tile
free 210 tris
Sidewalk-tile low-poly 3D model
Sidewalk-tile
free 308 tris
Speaker-post low-poly 3D model
Speaker-post
free 528 tris
Planter low-poly 3D model
Planter
free 260 tris
Picnic-table low-poly 3D model
Picnic-table
free 484 tris
Toy Rocket low-poly 3D model
Toy Rocket
free 618 tris
Oil-drum low-poly 3D model
Oil-drum
free 532 tris
Diner-sign low-poly 3D model
Diner-sign
free 588 tris
Traffic-light low-poly 3D model
Traffic-light
free 524 tris
Traffic-cone low-poly 3D model
Traffic-cone
free 312 tris
Gas-pump low-poly 3D model
Gas-pump
free 514 tris
Guardrail low-poly 3D model
Guardrail
free 146 tris
Lane-marking-decal low-poly 3D model
Lane-marking-decal
free 298 tris
Strawberry low-poly 3D model
Strawberry
free 129 tris
Potted Cactus low-poly 3D model
Potted Cactus
free 181 tris
Lemon low-poly 3D model
Lemon
free 124 tris
Paint Roller low-poly 3D model
Paint Roller
free 126 tris
Pretzel low-poly 3D model
Pretzel
free 136 tris
Pineapple low-poly 3D model
Pineapple
free 140 tris
Mushroom low-poly 3D model
Mushroom
free 112 tris
Hot Air Balloon low-poly 3D model
Hot Air Balloon
free 138 tris
Screwdriver low-poly 3D model
Screwdriver
free 118 tris
Corn Cob low-poly 3D model
Corn Cob
free 112 tris
Eggplant low-poly 3D model
Eggplant
free 284 tris
Checkered-flag low-poly 3D model
Checkered-flag
free 416 tris
Airlock End Cap low-poly 3D model
Airlock End Cap
free 568 tris
Water Blob low-poly 3D model
Water Blob
free 208 tris
Habitat Dome low-poly 3D model
Habitat Dome
free 538 tris
Corridor T Junction low-poly 3D model
Corridor T Junction
free 590 tris
Crater Terrain Blob low-poly 3D model
Crater Terrain Blob
free 400 tris
Floodlight Mast low-poly 3D model
Floodlight Mast
free 592 tris
Crystal Cluster low-poly 3D model
Crystal Cluster
free 472 tris
Fuel Tank low-poly 3D model
Fuel Tank
free 416 tris
Corridor Section low-poly 3D model
Corridor Section
free 424 tris
Corridor Corner low-poly 3D model
Corridor Corner
free 500 tris
Access Stair low-poly 3D model
Access Stair
free 496 tris
Comms Dish low-poly 3D model
Comms Dish
free 592 tris
Plaza Tile low-poly 3D model
Plaza Tile
free 294 tris
Area Railing low-poly 3D model
Area Railing
free 524 tris
Roof Bulkhead low-poly 3D model
Roof Bulkhead
free 336 tris
Newsstand low-poly 3D model
Newsstand
free 560 tris
Mailbox low-poly 3D model
Mailbox
free 450 tris
Fire Hydrant low-poly 3D model
Fire Hydrant
free 525 tris
Globe Lamp low-poly 3D model
Globe Lamp
free 486 tris
Police Barricade low-poly 3D model
Police Barricade
free 552 tris
Curb Strip low-poly 3D model
Curb Strip
free 140 tris
Wooden Fence low-poly 3D model
Wooden Fence
free 464 tris
Tree Stump low-poly 3D model
Tree Stump
free 524 tris
Path Stone A low-poly 3D model
Path Stone A
free 80 tris
Path Stone B low-poly 3D model
Path Stone B
free 66 tris
Small Rock low-poly 3D model
Small Rock
free 80 tris
Grass Tuft low-poly 3D model
Grass Tuft
free 544 tris
Lamp Post low-poly 3D model
Lamp Post
free 478 tris
Grass Terrain Blob low-poly 3D model
Grass Terrain Blob
free 140 tris
Grass Ground Tile low-poly 3D model
Grass Ground Tile
free 386 tris
Grain Sack low-poly 3D model
Grain Sack
free 448 tris
Quench Barrel low-poly 3D model
Quench Barrel
free 576 tris
Market Stall low-poly 3D model
Market Stall
free 592 tris
Dirt Terrain Blob low-poly 3D model
Dirt Terrain Blob
free 360 tris
Floor Lamp low-poly 3D model
Floor Lamp
free 276 tris
Banana low-poly 3D model
Banana
free 286 tris
Donut low-poly 3D model
Donut
free 130 tris
Armchair low-poly 3D model
Armchair
free 276 tris
Headphones low-poly 3D model
Headphones
free 352 tris
Treasure Chest low-poly 3D model
Treasure Chest
free 120 tris
Pine Tree low-poly 3D model
Pine Tree
free 70 tris
Scooter low-poly 3D model
Scooter
free 136 tris
Bookshelf low-poly 3D model
Bookshelf
free 120 tris
Potion Bottle low-poly 3D model
Potion Bottle
free 119 tris
Compass low-poly 3D model
Compass
free 86 tris
Toaster low-poly 3D model
Toaster
free 136 tris
Ice Cream Cone low-poly 3D model
Ice Cream Cone
free 62 tris
Grapes low-poly 3D model
Grapes
free 144 tris
Orange low-poly 3D model
Orange
free 98 tris
Pear low-poly 3D model
Pear
free 116 tris
Peach low-poly 3D model
Peach
free 108 tris
Wizard Hat low-poly 3D model
Wizard Hat
free 92 tris
Avocado low-poly 3D model
Avocado
free 116 tris
Cherry Pair low-poly 3D model
Cherry Pair
free 118 tris
Apple low-poly 3D model
Apple
free 276 tris
Carrot low-poly 3D model
Carrot
free 354 tris
Broccoli low-poly 3D model
Broccoli
free 296 tris
Pumpkin low-poly 3D model
Pumpkin
free 120 tris
Bread Loaf low-poly 3D model
Bread Loaf
free 280 tris
Baguette low-poly 3D model
Baguette
free 120 tris
Bagel low-poly 3D model
Bagel
free 138 tris
Watermelon Slice low-poly 3D model
Watermelon Slice
free 108 tris
Smartphone low-poly 3D model
Smartphone
free 102 tris
Sailboat low-poly 3D model
Sailboat
free 60 tris
Hammer low-poly 3D model
Hammer
free 298 tris
Donut low-poly 3D model
Donut
free 140 tris
Dirt Ground Tile low-poly 3D model
Dirt Ground Tile
free 414 tris
Bush low-poly 3D model
Bush
free 260 tris
Barrel low-poly 3D model
Barrel
free 564 tris

Use a model in one line

Every free model is hotlinkable. This is the real snippet for Hanging Signboard:

// GLB: works in three.js, Unity, Godot, Blender
new GLTFLoader().load(
  'https://polyfork.dev/cdn/hanging-signboard-c10e01.glb',
  (gltf) => scene.add(gltf.scene)
);

// or the drop-in ES module (three.js, zero loaders):
import { createAsset } from 'https://polyfork.dev/cdn/hanging-signboard-c10e01.mjs';
scene.add(createAsset());

Use a model in React Three Fiber

  1. Download a model's .mjs file from its page and put it in your project.
  2. Import createAsset from it and call it inside useMemo.
  3. Return the result from <primitive object={obj} />.
  4. Pass any of the model's knobs as props to rebuild it.

See it running before you install anything

The starter opens a full React Three Fiber project in StackBlitz with one of these models already in it: a Canvas, the component, and a dropdown wired to one of the model's own knobs. Nothing to install and no account. The model ships inside the project as a local file, which is how you would really use it, so what you are looking at is the actual workflow rather than a demo that only works here.

Why a module beats a GLB here

A GLB is a file, so using one in R3F means useGLTF, a Suspense boundary and a loading state to design around, and what you get back is frozen geometry. These are ES modules: createAsset() returns a ready THREE.Group synchronously, and <primitive object={obj} /> accepts it as-is. There is nothing to await and nothing to suspend, so a model can render on the first frame alongside the rest of your tree.

Every knob is a prop, and that is the whole point

A model here is a small program rather than a mesh, and its parameters are typed and published. In R3F that stops being a feature you read about and becomes the thing you already expect: wrap createAsset in useMemo keyed on props and <Tree season="autumn" height={4} /> rebuilds exactly like any other component. State, context, springs and leva controls drive it with no adapter, because it is just props going into a function.

What gltfjsx does, and what it cannot

gltfjsx exists because a GLB is static and React developers want components, so it converts geometry into JSX once, ahead of time. It is a good tool and worth using on your own models. What it cannot do is give a mesh parameters it never had: the JSX it writes describes one frozen shape. These models ship with their parameters intact, which is the difference between a component that renders a model and a component that generates one.

Self-animating models and the frame loop

Some models animate themselves and expose userData.tick(seconds): live water, a steam plume, drifting bubbles. R3F already owns the frame loop, so drive it from useFrame with state.clock.elapsedTime and nothing else is needed. The model has no loop of its own to conflict with yours.

One draw call for a whole set

Every model is flat-shaded vertex colours on a single material, so a set of them merges into one draw call. Import mergeAssets from the CDN, merge the static ones, and hand the result to a single <primitive>. Anything rigged comes back separately so it stays animatable.

Next.js, and where the import goes

A Canvas cannot server-render, so the component holding it is a client component: add the use client directive, or import it with next/dynamic and ssr false. Import the .mjs as a local file in the project rather than from the CDN URL, because bundlers do not resolve remote imports. The plain three.js page covers the hotlinking route for pages without a bundler.

What "low-poly" means here, in numbers

396triangles, median
43.3 KBper GLB, median
1draw call per model
10.1 MBall 259 together

Every free model on this page, downloaded at once, is 10.1 MB. They are flat-shaded vertex colour on one material with no textures, which is where the size goes and why they draw in one call. Measured from the files being served right now, not rounded down for a landing page.

FAQ

Do I need @react-three/drei?

No. A model is a plain Object3D going through <primitive>, so fiber alone is enough. drei still helps with everything around it, and OrbitControls, Environment and Stage all work on these models normally.

Can I import the module straight from the CDN URL?

In a plain page with an import map, yes. In a React project built with Vite or Next, no: bundlers do not resolve https:// imports. Download the .mjs from the model's page and import it as a local file.

Does it work with Next.js?

Yes, with the usual R3F caveat that a Canvas cannot server-render. Put it in a client component, or load it with next/dynamic and ssr set to false. Nothing about these models makes that harder than any other R3F scene.

Are these really free?

Every asset under 600 triangles is free forever, which is currently about half the catalogue. Free means the GLB and the ES module, no attribution, commercial use allowed. A free account downloads them; browsing and hotlinking need no account at all.

Do the modules ship TypeScript types?

Not yet. The modules are plain JavaScript, and each one publishes its knob schema as JSON next to it, so the parameter names and ranges are machine-readable even though there is no .d.ts to import.

Can I use these in a commercial product?

Yes, including the free ones and with no attribution. The one limit is that you may not resell the files as assets or use them to build a commercial 3D asset generator; the licence page has the exact terms.

Polyfork

Sign in

One account for your purchases and downloads.

Continue with Google
or

No password needed: the link signs you in directly.