Java Edition hard limits

This page documents historical hard limits of mainly earlier versions of Java Edition. These are defined as boundaries which exist due to the game's code and data types, as opposed to limits which have been implemented intentionally (see World boundary) or effects due to precision loss (see Java Edition distance effects).

Precision loss errors (X/Z: ±2)
There have been a large variety of precision loss errors throughout the game's history. There are generally very few in modern versions, although more can be found in earlier versions. These can be loosely defined as hard limits due to being limitations of the floating point data type itself. However, due to their variety, they are not included here.

Double-precision floating point precision loss issues also run rampant at excessive distances. However, the majority of these effects require extensive modding to even see, which has not been done in modern versions.

The End generation breakdown (X/Z: ±370,727)
The End's generation is completely absent in several circles centered on the world. This is due to an integer overflow, causing a square root to be taken from a negative number. Since this integer overflow happens based on the squared distance (creating very high values rapidly), multiple overflows happen within a reachable distance, creating rings of void and landscape which get thinner the further away they are from the origin. The first ring of void starts at 370,727 blocks away from the center and ends at 524,288 blocks away from the center, where terrain continues generating until the next integer overflow occurs. Interestingly, all the rings (whether they are void or land) approximately cover the same area.

Lighting breakdown (X/Z: ±33,554,432)
Due to the lighting being controlled by precision-losing 32-bit float, all light ceases beyond 2 blocks. All blocks appear completely black and are unaffected by sky and block light (light-emitting blocks may create a local area of light in its block space, but this cannot extend). As a result, hostile mob spawning is extremely common and mushrooms can spawn naturally. It is effectively mandatory to use the night vision effect to facilitate any reasonable exploration beyond this point.

When teleporting far distances, it is possible to find regions of full light. These will cause dark regions when blocks are updated.

Village generation limit (X/Z: ±1,073,741,824)
Beyond this point, villages seem to stop generating correctly at all. The only part which generates is the very center, sometimes with accompanying villagers - every other part is missing.

It has been sighted in some superflat worlds that strange phantom villages composed solely of block light can generate.

The reasoning for this happening remains unknown and it is not known if this is tied to jigsaw blocks.

32-bit limit (X/Z: >±2,147,483,647)
A hard limit exists at X/Z: ±2,147,483,647&mdash;the mathematical limit of a signed 32-bit integer&mdash;and attempting to travel or load chunks beyond here simply causes the game to crash. It is advisable to set the world border to at least several hundred blocks before this limit and make sure not to teleport past this.

Attempts have been made to exceed this limit and allow terrain and the game to work further out. Only 314rft's "64-Bit" Mod has actually succeded at this, as demonstrated in this Video by AntVenom.

64-bit limit (X/Z: >±9,223,372,036,854,775,807)
All info is based on AntVenom's video

The very last hard limit exists at X/Z: >±9,223,372,036,854,775,807 blocks&mdash;the mathematical limit of a signed 64-bit long value&mdash;and attempting to travel or load chunks beyond here simply causes the game to crash.

This limit can only be reached with the 314rft's "64-Bit" Mod, that replaces integer generation values with long generation values, causing the java code to push the game limit to 9 quintillion blocks. Note that this expansion causes the game to replace every single generation value, so if we go to the supposed 32-bit integer limit, it not causes the game to crash.

It is estimated that this limit equals a distance of 2000 light years.

Lighting breakdown (Y: ±129 - ±2,048)
The player's skin, and an item in a player's arm starts rendering incorrectly, resulting in no lighting at all. All lighting will stop working at 2,048 blocks. The effects may be slightly different in this case however, as full light has been noticed at negative coordinates.

Absolute limit (Y: ±2^1024)
The maximum possible height is 1.798×10308 (21024), the limit where mathematics break down in the game's code. In attempting to teleport beyond this limit, the game interprets the number as infinity and refuses to carry out the teleportation.

The reason why going this high is not restricted by the 32-bit, 64-bit, 128-bit, etc is because chunks do not load past 320 blocks which means that there is nothing to render.

Spawn chunk glitch (X/Z: ±524,288–X/Z: ±2,146,959,360)
From Beta 1.6 Test Build 3 to Beta 1.7.3 inclusive, if the player moves to 524,288 on one or both axes, the player can allow the chunk they originally spawned in to re-appear. These chunks repeat every 2¹⁹ blocks on both the cardinal and diagonals. once the player reaches X/Z: 32,505,856, trees and entities can reappear past X/Z 32,000,000, even though vegetation and entities are not supposed to generate out this far because of the block limit at X/Z: 32,000,000. However, because of the block render limit at X/Z: 2,147,483,519, the maximum distance that trees and entities can spawn at is X/Z: 2,146,959,360. If the player does happen to generate natural terrain beyond X/Z: 32,000,000, then any trees or other entities that spawn begin to decay but the image remains frozen in place. For example: a flower generated in the fake chunks drops the flower item as if it has decayed, but the flower still appears in place, unable to be removed. It does this infinitely and causes countless entities to begin spawning, causing lag spikes.

Item entity render limit (X/Z: >±67,108,864)
Beyond this point in some versions, items stop rendering entirely.

Third person view limit (X/Z: >±268,435,456)
Beyond this point in some versions, third person view will always place the camera directly inside the player's head regardless of the presence of any potentially obstructing blocks.

32-bit limit (X/Z: >±2,147,483,647)
At X/Z: ±2,147,483,647, blocks are no longer rendered, giving way to an empty sky. At X/Z: ±2,147,483,794 (maximum 32-bit integer), the game is likely to crash or the player gets stuck. However, chunks still generate along with clouds. Fast graphics clouds are however insanely stretched. It is very dangerous to reach X/Z ±4,294,967,296 or higher, as the chances of crashing (assuming the player has 64-bit Java) are extremely high, and get higher the further the player goes.


 * X/Z ±2,147,483,647: Terrain disappears completely. Beyond here, the game crashes.

Cloud render limit (X/Z: ±25,769,803,000–±25,769,804,000)
Between X/Z: ±25,769,803,000 and X/Z: ±25,769,804,000 clouds stop rendering (Varies between maps, but they disappear somewhere in between these distances. Does not apply for fast graphics clouds). Beyond here, only the sky, sun, moon and void remain.

Chunk overflow limit (X/Z: >±34,359,738,368)
If one makes it to X/Z: ±34,359,738,368 (235), away from spawn, chunks will start "looping". While made completely unobservable due to blocks also being 32-bit integers, exceeding this limit should cause chunks from the exact opposite overflow point to begin loading. Doubling distance again will put the player in the equivalent position to (0,0), and once more will appear at the overflow point once more. As a result, this is the end of Minecraft.

In versions which are not modified to support proper terrain generation near this point, as soon as this limit is approached, the game freezes and crashes presumably due to the 32-bit block coordinate limit, resulting in an Out of memory screen. However, in some cases, the player may be able to move past this limit for a few seconds before Minecraft crashes. A chunk is 16 × 16 blocks, and 34,359,738,368 = 2,147,483,648 × 16, so the chunk coordinates are 32-bit integers as well.

Player Movement limit (X/Z: >±2,251,799,813,685,248)
If the player manages to surpass the Chunk overflow limit, then as they travel outwards, their movement will begin to lose precision in a similar way to Minecraft Bedrock Edition. Beyond blocks 251 away, it is no longer possible for the player to move along the axis they are traveling using normal walking speed. However increasing the walking speed of the player using mods can allow the player to surpass this distance.

64-bit integer limit (X/Z: >±9,223,372,036,854,775,807)
The highest signed value for 64-bit machines is X/Z ±9,223,372,036,854,775,807. However, despite this being the limit any machine can go, it may not be possible (through in-game methods) to go near this point, since the vast majority of people experience instant client freeze, followed by the client crashing. The only way that this can work with a high consistency is if one uses Cheat Engine to edit a players position to be at this limit. Modification may make this position far more stable.

64-bit chunk overflow limit (X/Z: >±147,573,952,589,676,412,928)
If chunks are patched to use 64-bit integers, then the farthest that you would be able to travel without crashing is roughly 147.573 quintilllion blocks, or 267 blocks out. However, due to the player position itself losing precision at this point, the actual limit is likely closer.

128-bit Indev limit (X/Z: >340,282,366,920,938,463,463,374,607,431,768,211,456)

 * The farthest distance the player can travel using this method is X/Z: 2128 or roughly 340 undecillion, though the player can go further.

If the player teleports to X/Z: 2128 or 340 undecillion in the version of Indev that pushes the player back within the map, the player is pushed from X/Z: 2128 to X/Z: 2,147,483,648 in about 5 minutes. As the player is pushed back, the sun and moon begin to render back in (Most likely at X/Z: 264 or roughly 18.4 quintillion) and then the game crashes at the 32-bit Integer Limit.

64-bit floating point limit (X/Z: >±1.797693134862315907729305190789&times;10 )
On August 1, 2018, a YouTube user named "Aura Gunner" made a video showing the player teleporting to 1.797693134862315907729305190789 x 10^308 (past 21024) on the X-axis. Because 1.797693134862315907729305190789 x 10^308 is the maximum 64-bit floating-point integer, it caused the player's X coordinate to roll over to read "Infinity". It is impossible to go further since this is the physical limit at which Java can render, and the game always crashes at this distance. It is possible to get this far, however, Cheat Engine must be used to edit the coordinates in a way that allows continuous teleportation.

(Y: <&minus;2,147,483,647)
In Beta 1.7.3, as the player falls below Y=&minus;2,147,483,647, the darkness of being in the void disappears. Instead of darkness, the void now looks like an empty world. It has a sky, a sun, and a moon, and they are all visible depending on the time of day. Despite this, the player still receives damage from the void.


 * In Release 1.6.2 for 64-bit machines, the limit of how high up the player can teleport is +4,999,999,999,999,999 blocks high. Prior to Beta 1.8, the player could teleport up to the limit for 64-bit machines