Iron golem farms are one of the most consistently useful builds in Minecraft — passive iron income that runs unattended, feeds storage systems, and never needs restocking. They are also one of the most frequently broken builds, because the spawning mechanic is sensitive to several conditions that aren't well explained in-game.
This is a complete guide to the mechanism and a minimal working design, version-pinned to Minecraft 1.21.4 Java Edition.
How iron golem spawning actually works
The game does not spawn iron golems at random. The mechanic is driven by village detection: a group of villagers that meet specific conditions cause the game to periodically attempt a golem spawn.
The conditions, as of 1.21.4:
- At least 10 villagers in the village group. Each villager must have a linked bed they can pathfind to, or the count is lower than it appears.
- At least 10 beds within the village detection radius (~32 blocks from village centre, but practically: within the villagers' gossip range).
- Iron golem cap not reached — the game checks within a 16×6×16 block box centred on the village centre. Default cap is 1 per village. Most farm designs kill the golem before the cap re-triggers.
- Recent "panic" gossip — villagers gossip when attacked by a zombie or when they haven't seen a golem recently. This gossip triggers the spawn attempt. Farms work by placing a zombie (usually in a minecart) within sight of the villagers to keep them in continuous panic.
- Spawn attempt location — the game tries to place the golem on a solid surface within a 16×12×16 box around the village centre, at the same Y as the village bed positions. The spawn surface must be clear (at least 2 blocks above the surface, 1 block below) and spawnable.
The "village" in an iron farm is artificial — the game doesn't know it's a farm. It sees a group of linked villagers with beds, detects gossip, and spawns a golem. All the engineering is about satisfying those conditions reliably.
Why 10 villagers, not fewer
Before 1.14, iron farms worked differently — the old "door" mechanic is gone. The current system counts linked villagers: villagers who have claimed a bed and can path to it. If even one villager is unlinked (no unclaimed bed available, or the bed is too far), the effective village size drops.
The 10-villager minimum is conservative and well-tested. You can sometimes get a farm working with fewer, but 10 is the number where it becomes reliable across different world seeds and positions.
The minimal design
The simplest working 1.21.4 iron farm has four components:
1. The villager chamber
A platform (typically 3×3 or 4×4 glass) elevated so villagers can see the zombie but the zombie cannot reach them. Each villager needs:
- A bed they can reach (within ~32 blocks, typically directly below or beside the chamber)
- A workstation of their profession (for restocking trades, which keeps them active and gossiping — un-employed villagers still work but are less robust)
Place 10 beds and 10 workstations (you can mix: lecterns, barrels, blast furnaces, etc.). Link them by letting villagers claim them during the night cycle after you place the villagers in the chamber.
Watch the villager particles at sunset — a villager claiming a bed emits green particles. If you see green on all 10, they are linked. If any emit red angry particles and don't claim, the bed is inaccessible.
2. The zombie
A zombie in a minecart, positioned so that villagers can see it (line of sight, within 10 blocks) but it cannot hit them. A glass pane between the zombie and the platform is the standard solution.
The zombie must be prevented from despawning. On a server or if you leave the farm's chunks, named mobs don't despawn. Name the zombie with a name tag. Alternatively, give it any item — a named zombie carrying an item will never despawn.
Zombie in a minecart solution: rails + a minecart, push the zombie into the cart, it can no longer path and just sits there scaring villagers indefinitely.
3. The spawning platform
The game spawns golems within the 16×12×16 detection box around the village centre. The village centre is the average position of all the beds.
Arrange your farm so the centre of your beds is directly above a large flat spawning surface — typically an 8×8 to 12×12 platform of solid blocks 4–6 blocks below the villager chamber. This concentrates spawns where your kill chamber can catch them.
Golems can spawn on any surface the game considers valid, including dirt, stone, and grass. They cannot spawn on non-full blocks (slabs, carpets, glass) or in water. If golems are spawning outside the intended area, extend your platform to cover more of the detection box.
4. The kill chamber
Iron golems have 100 HP (50 hearts). The fastest vanilla kill method is lava — golems take fire damage and lava strips their health in seconds. The standard design:
- A funnel (water streams converging to a central point) on the spawning platform to push golems into a lava blade
- A hopper chain below the lava to collect iron ingots and poppies
Each golem drops 3–5 iron ingots (average 4) and 0–2 poppies (average 1). The drops appear at the kill location and need to reach your hoppers before despawning (5 minutes in 1.21.4).
Lava blade: a single block of lava source placed on a sign or slab at golem chest height, so golems walk into it and die without the lava spreading to block hopper collection.
Rate expectations
A single-village 10-villager iron farm on 1.21.4 with optimized chunk loading produces approximately:
| Setup | Iron per hour | Notes |
|---|---|---|
| Single village, no chunk loading | 0–40 ingots | Inconsistent; depends on player proximity |
| Single village, /forceload | 200–300 ingots | Stable passive rate |
| 4-village stacked design | 800–1200 ingots | Standard "bulk iron" farms |
| Large multi-village farms | 2000+ ingots | Requires careful golem cap management |
The exact rate depends on how often the game successfully spawns a golem, which depends on the gossip frequency, the spawn success rate (how many attempts land on the platform vs. fail), and kill speed.
Chunk loading — the step most guides skip
Without chunk loading, the farm only produces when you are within simulation distance. The moment you walk 10+ chunks away, the villager AI freezes, gossip stops, and no golems spawn.
For a farm meant to run passively:
/forceload add <farm-x> <farm-z>
Use the chunk coordinates of every chunk your farm occupies, including the bed positions. If the farm spans 2×2 chunks, forceload all four. Confirm with /forceload query.
See the chunk borders and forceload guide for the full explanation of ticket levels and why ENTITY_TICKING is what you need.
The villager AI gossip loop requires ENTITY_TICKING — the same ticket level as a player standing in the chunk. BLOCK_TICKING is not sufficient; the villagers will exist but won't gossip, so no golem spawn attempts trigger.
Common mistakes and why they happen
Villagers not linking to beds. The most common issue. Happens when: beds are placed too far away, there are fewer beds than villagers, another village's beds are within range and confusing ownership, or the villagers can't physically pathfind to the beds (glass floor between them and the beds with no staircase).
Fix: remove all beds, ensure exactly 10 are placed, stand back during a night cycle, and watch for the green claim particles. Only move on once all 10 claim.
No spawns after correct setup. Usually a village centre issue. The village centre is the mean position of all beds — if your beds are spread too far apart, the centre may land somewhere with no spawnable surface in its 16×12×16 detection box. Keep beds clustered, not scattered.
Golems spawning outside the platform. The detection box is large. Golems will spawn anywhere within it that has a valid surface. If you have blocks at multiple Y levels within the box, spawns scatter. Keep the interior of the box clear except for your intended spawning surface.
Zombie despawning overnight. If the zombie wasn't named, it despawns. Replace, name with a name tag, and verify via /data get entity @e[type=zombie,limit=1] CustomName.
Farm working for one session then stopping. Usually the villagers moved their beds — in 1.21.4, villagers will re-claim and abandon beds during the course of normal AI. If any villager pathfinds to a new bed outside the farm area, the village centre can shift. Enclosing the farm so villagers can't leave is the standard fix.
Multi-village stacking
Once you have one working farm, the natural next step is stacking multiple villages vertically. Each separate group of 10 villagers maintains its own golem cap and gossip cycle, stacked farms multiply rate nearly linearly.
The key rule: keep the bed clusters of each village at least 64 blocks apart horizontally, or the game merges them into one village (reducing the effective cap and output). Vertical separation is cheaper — stacking every 20 blocks vertically with separate bed groups works on most designs.
A 4-stack with /forceload on the farm's chunks is enough iron for nearly any vanilla survival project, running unattended.
Sources & further reading:




