Wheat
Farmland crops · Minecraft 26.2 · 7 growth stepsGrowth is a random process, so this is the honest answer: a curve, not one number. Each random tick is an independent roll, which makes the finish time a negative binomial rather than a countdown.
Fully planted hydrated field
| Layout | Speed | Average per plant | Planted | Per hour per block |
|---|---|---|---|---|
| Hydrated rows, one bare farmland row between | 10 | 23.9 min | 50% | 1.26 |
| Fully planted hydrated field | 5 | 47.8 min | 100% | 1.26 |
| Crop rows alternating with water channels | 5.5 | 39.8 min | 50% | 0.75 |
| Fully planted field, no water in range | 2 | 1.73 h | 100% | 0.58 |
| Rows on dry farmland | 4 | 55.8 min | 50% | 0.54 |
| One plant on a lone hydrated farmland block | 4 | 55.8 min | 100% | 1.08 |
The last column is what matters for a real farm: harvests per hour for each block of footprint, planted share included. Rows run at double the per-plant speed but plant half the ground, so they land in the same place as a solid field. Water channels are the trap: water is not farmland, so every channel block subtracts from the growth speed of the crops beside it.
Each bone meal advances 2 to 5 stages, chosen uniformly.
One bone crafts into 3 bone meal, so that is about 0.8 bones. Compare it against the average wait above before deciding it is worth the skeleton farm.
| Speed | Average time | Relative |
|---|---|---|
| 1 | 2.39 h | 0.33x |
| 2 | 71.7 min | 0.67x |
| 3 | 47.8 min | 1x |
| 4 | 35.8 min | 1.33x |
| 6 | 23.9 min | 2x |
| 10 | 14.3 min | 3.33x |
| 20 | 7.2 min | 6.67x |
| 50 | 2.9 min | 16.67x |
| 100 | 86.0 s | 33.33x |
A block gets one draw per point of random tick speed per game tick, each hitting one of the 4096 blocks in its chunk section. Growth scales linearly with the game rule, and stops entirely outside the server's simulation distance, which is what makes an AFK spot matter more than the farm design.
- Feeding a baby removes 10 percent of its REMAINING growth time, not a fixed amount, so each feed is worth less than the one before it. The first feed saves 2400 ticks and the last useful one saves 20 ticks.
- Once fewer than 200 ticks remain the speed up truncates to zero, so the final 9.0 seconds cannot be fed away.
- Breeding sets both parents to age 6000, which counts down one per tick, so a pair produces at most one baby every 5 minutes.
- This plant only grows when the light level where it is checked is at least 9, so an unlit farm never advances no matter how long you wait.
- 1.21.11 The random tick game rule moved from "randomTickSpeed" to "minecraft:random_tick_speed" and its class moved to world/level/gamerules/GameRules.java. The default value stayed 3 and the growth math did not change.
- 26.2 FarmBlock was renamed FarmlandBlock and the "is this farmland" check under a crop became a block tag lookup. Growth speed weights are unchanged, so every number on this page is the same before and after.
- 1.20.6 Torchflower and pitcher plant crops arrived with the sniffer. Torchflower is the only crop that skips its growth attempt outright, and both take a flat one stage per bone meal instead of the usual two to five.
- 1.18.2 Cave vines (glow berries) do not exist in 1.16.5. From 1.18.2 onward they use the same one roll per random tick model as kelp and the nether vines.
- 1.21.11 Random ticking stopped depending on mob spawning. Before this, ServerChunkCache.tickChunks called Level.tickChunk inside the natural spawning branch, gated on ChunkMap.noPlayersCloseForSpawning and later ChunkMap.anyPlayerCloseEnoughForSpawning, so a chunk with no player close enough for spawning grew nothing at all. From 1.21.11 the call moved to ChunkMap.forEachBlockTickingChunk, which follows the block ticking chunks instead. It also means live growth can only be measured on a headless server from 1.21.11 onward, because with nobody online the older loop never fires.
- 1.21.11 Cactus gained a flower that can appear on top of a fully grown cactus column. A flower occupies the space a new cactus block would use, so the timings here assume the block above stays clear.
Every constant is read out of decompiled game code for 1.16.5, 1.18.2, 1.20.6, 1.21.1, 1.21.11, and 26.2, and the predicted age distributions are checked against crop grids measured on a real dedicated server. Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.
Related tools
- Minecraft Redstone Timing CalculatorConvert ticks to seconds, build exact repeater delays and clocks, plan hopper throughput, and invert the comparator container signal, per Minecraft version.
- Minecraft Elytra Flight CalculatorSimulates elytra glide physics tick by tick: distance from any height, firework cruise speed, rockets per trip, and durability.
- Minecraft Tick Time ConverterConvert between game ticks, redstone ticks, and real time, plus day cycle markers, /time add, and TPS versus MSPT.
- Minecraft XP CalculatorExact level-to-XP math, Mending repair costs, and kill counts, verified against decompiled game code.
- Minecraft Beacon CalculatorPyramid layer block counts, material cost in ingots, effect range and duration, and shared multi-beacon base totals.
- Minecraft Loot Table CalculatorExact drop chances and expected counts computed from the game's real per-version loot tables.
What it does
Works out how long a Minecraft plant actually takes to grow, as a distribution rather than a single made-up number: the average, the median, and the slowest 5 percent, in game ticks, real minutes, and in game days. It applies the real growth speed formula, so every farmland block around the plant, its moisture, and whether the plant is crowded on one axis or two all change the answer. It also compares farm layouts by yield per hour per block, prices bone meal per crop type, shows what random tick speed and chunk loading do to an AFK farm (including the pre 1.21.11 rule that a chunk with no player close enough for mob spawning never random ticks at all), and covers animal breeding cooldowns, baby growth, and food cost per animal. Numbers cover 1.16.5, 1.18.2, 1.20.6, 1.21.1, 1.21.11, and 26.2. Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.
How to use it
Pick a version and a plant, then pick the farm layout you actually built: a fully planted hydrated field, rows with a gap between them, rows split by water channels, or dry farmland. The stat tiles update with the growth chance per random tick and the full time distribution, and the layout table ranks every option by harvests per hour per block of footprint. Plants that ignore farmland, like nether wart and sugar cane, hide the hydration controls, and plants that cannot be bone mealed say so instead of offering a control that does nothing. Switch to the breeding card for cooldowns, baby growth, and how much feeding a baby actually saves.
Why this one
Search results for crop growth are full of pages quoting one flat number, usually with no version, no layout, and no source. Growth is a random process: a wheat plant in a fully planted hydrated field averages about 48 minutes, but one in twenty takes over 80 minutes, and that spread is what determines whether a farm keeps up. Every constant here was read out of decompiled game code for six versions by this site's own pipeline, checked against crop grids measured on real dedicated servers for the two versions where a headless server random ticks at all, and the calculator reimplements the formulas rather than copying values from a wiki. It runs entirely in your browser, with no ads and no accounts, and your files and inputs never leave your device.
FAQ
- How are these numbers verified?
- Every constant is parsed straight out of decompiled server source for 1.16.5, 1.18.2, 1.20.6, 1.21.1, 1.21.11, and 26.2 by a generator in this repository, so a value that changes between releases shows up as a data diff instead of going unnoticed. The classes behind the math are CropBlock (the growth speed sum and the 1 in floor(25 divided by speed) plus 1 roll), FarmBlock and later FarmlandBlock (moisture and the hydration range), ServerLevel (the per section random tick selection), GameRules (the random tick speed default of 3), BoneMealItem, and Animal plus AgeableMob for breeding. The distribution itself is computed analytically as a negative binomial over random tick draws, never by simulation. On top of that, a test harness booted real dedicated servers, built controlled crop grids, opened exact tick windows at a known random tick speed, and read back the age of every plant, and the predicted age distributions are asserted against those measured histograms. Live measurement is only possible on 1.21.11 and 26.2: before 1.21.11, ServerChunkCache.tickChunks reaches the random tick loop only inside the natural spawning branch, gated on a player being close enough to the chunk for spawning, so a headless server with nobody online never random ticks anything. 1.21.11 moved random ticking to ChunkMap.forEachBlockTickingChunk, which is the only reason those two versions can be measured at all. For 1.16.5, 1.18.2, 1.20.6, and 1.21.1 the harness records the constants it read from the same classes instead, and the tests assert this tool's numbers against that independent reading. The measurement is what caught beetroot skipping one growth attempt in three, a detail no calculator we could find models.
- Which versions changed the answers?
- None of the growth math changed across the six covered versions, but the code around it did. 1.20 added the torchflower and pitcher crops, which use flat bone meal steps, and torchflower joined beetroot as the only crops that skip one growth attempt in three. 1.21.11 renamed the game rule from randomTickSpeed to minecraft:random_tick_speed, moved GameRules into its own package, and unhooked random ticking from mob spawning: before it, ServerChunkCache.tickChunks only random ticked a chunk when a player was close enough to it for spawning, so a farm outside that range grew nothing even though the chunk was loaded. 26.2 renamed FarmBlock to FarmlandBlock and turned the farmland check under a crop into a block tag lookup. 1.21.11 also added the cactus flower, which can occupy the space a new cactus block would use.
- Why does bone meal cost more on some crops than others?
- Because the crops do not share one rule. Wheat, carrots, potatoes, and melon or pumpkin stems advance a uniform 2 to 5 stages per bone meal, which works out to 2.39 bone meal on average from seed to harvest. Beetroot uses the same roll divided by three, so a roll of 2 advances nothing at all and a beetroot costs 4 bone meal despite having fewer than half the stages. Torchflower, pitcher plant, cocoa, and sweet berry bush advance exactly one stage. Saplings roll a separate 45 percent success check and the bone meal is consumed even when that roll fails, so a tree costs about 4.4. Nether wart, sugar cane, and cactus cannot be bone mealed at all.
Keyboard shortcuts: press ? anywhere on this page to see them.