Torch & Anvil

Chunks, Borders, and Region Files

Verified: Java 26.3 / Bedrock 26.50 · 2026-09-16 · chunk math identical in both editions; region files Java-only · Updated 2026-09-16

Everything the game does — loading, saving, simulating, spawning — happens in 16×16-block columns called chunks. This guide gives you the three pieces of chunk math worth actually knowing: the floor rule that makes negative coordinates behave, the border arithmetic the chunk calculator runs, and the region files your Java world is really made of. It also closes out a piece of folklore: spawn chunks are gone.

The floor rule

A block's chunk coordinate is its block coordinate divided by 16 and rounded down — a true floor, not "drop the decimals." On the positive side the two are the same thing: block 300 is in chunk 18, because 300 ÷ 16 = 18.75 and the floor is 18. On the negative side they diverge, and this is where hand-rolled chunk math breaks: block −1 is in chunk −1, not chunk 0, because floor(−0.0625) is −1. Chunk −1 spans blocks −16 through −1; chunk −2 begins at −17. If you have ever paced out a farm westward and watched it misbehave one block past zero, this rule is the culprit.

Player positions come with decimals — F3 might say −7.3 — and those floor to a block position first, by the same rule: floor(−7.3) is −8, and block −8 sits in chunk −1 at local position 8. The calculator accepts the decimals directly so you can paste an F3 readout without doing the flooring in your head. (This paragraph's arithmetic, like every number on the tool page, is pinned by the test suite.)

Inside the chunk

Your local position within a chunk runs 0–15 on each axis, counted from the chunk's north-west corner — the corner with the smallest X and Z, since west is −X and north is −Z. Chunk (cx, cz) spans blocks 16·cx through 16·cx+15 by 16·cz through 16·cz+15, so chunk (−1, 18) covers X −16…−1 and Z 288…303. Distance to the west border equals your local X; to the east border, 15 minus it. Stand at local 8 and the east edge is 7 away — there is no exact middle of a 16-wide span, which is why "chunk-centered" builds actually straddle the two center blocks (locals 7 and 8).

Borders matter for two honest reasons. First, loading: chunks load and unload as units, so a machine that crosses a border can end up with half of itself simulated and half frozen, which is exactly the failure mode technical-farm tutorials mean when they say "keep it in one chunk." Second, alignment: several farm classes — and fortress-bounding-box hunting, and performance debugging — are reasoned about per chunk, so knowing which 16×16 cell you are in is the starting fact. The in-game shortcuts (F3+G chunk borders on Java, fog tricks on Bedrock) show you the lines; the calculator gives you the numbers when you are planning away from the game.

Region files: what a Java world is made of

Java Edition groups chunks into region files — 32×32 chunks each, which is 1,024 chunks or 512×512 blocks — stored in the world save as r.X.Z.mca. The region coordinates are the chunk coordinates floor-divided by 32 (the same floor rule again; programmers will recognize it as the arithmetic shift by 5). Chunk (−1, 18) therefore lives in r.−1.0.mca. This is practical, not trivia: when you want to back up just your base, trim an over-explored world, or salvage a corrupted area, region file names are the unit you work in. Bedrock does not use this format at all — its worlds live in a LevelDB database — which is why the calculator labels the region row Java-only.

What happened to spawn chunks

For most of Java's history, the chunks around world spawn stayed loaded permanently — the famous "spawn chunks" that hosted iron farms and clock circuits. That mechanic has been dismantled in two steps. In 1.20.5, the always-on area was cut to a configurable game rule whose default was radius 2 — a 3×3-chunk core, 48×48 blocks, a reduction of roughly 98 percent from the old footprint. Then 1.21.9 (snapshot 25w31a) removed the game rule and spawn chunks altogether. On current Java, nothing about world spawn keeps chunks loaded; the supported replacement is the /forceload command. Bedrock never had spawn chunks in the first place. Any tutorial that ends with "…and because it's in spawn chunks, it runs forever" is describing a game that no longer exists — check the date on the video before you build.

Sources

Chunk dimensions and the floor rule: the Minecraft Wiki's Chunk page (minecraft.wiki/w/Chunk), re-checked 2026-09-02. Region format, naming, and the 32×32 grouping: minecraft.wiki/w/Region_file_format. Spawn-chunk removal: the wiki's Spawn chunk page (minecraft.wiki/w/Spawn_chunk), which records both the removal in 1.21.9 / 25w31a and the 1.20.5 spawnChunkRadius default of 2. Where editions differ — region files, the in-game border overlays — the difference is stated rather than averaged, per this site's standing policy.