Every Minecraft world is created from a single number called a seed. This seed determines everything about your world — the terrain, biomes, structures, caves, and ore distribution. Two players using the same seed on the same version will get identical worlds (with minor exceptions for Bedrock vs. Java).
📐 See our Methodology page for the complete verification process, editorial standards, and update cadence.
This guide explains the technical side of seeds: what they actually are, how the game uses them to build worlds, why structures spawn where they do, and the important differences between Java and Bedrock world generation.
What Is a Seed?
A Minecraft seed is a 64-bit integer (a number between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807) that serves as the starting point for the game's pseudorandom number generator (PRNG).
- The seed is fed into mathematical functions that produce deterministic outputs — the same input always produces the same output
- This means every world feature (terrain height, biome type, structure location) is calculated, not random
- The world isn't stored as a blueprint — it's generated on-the-fly as you explore chunks
- This is why Minecraft worlds are essentially infinite — the math can calculate any chunk at any position
Seed Numbers — Text vs. Numeric
When creating a world, you can enter either a number or text as the seed:
| Input Type | Example | How It's Processed |
|---|---|---|
| Numeric | 12345 | Used directly as the seed value |
| Text | "hello" | Converted to a number via Java's String.hashCode() |
| Empty | (blank) | Randomly generated based on system time |
| Negative | -7890 | Used directly — negative seeds are perfectly valid |
When you enter text like "hello", Minecraft converts it to a number using a hash function. The text "hello" always produces the same number, so the same text always creates the same world.
How World Generation Works — Layer by Layer
World generation happens in layers, each building on the previous. Here's the order:
- Biome assignment — Each chunk is assigned a biome (plains, forest, desert, etc.) using noise functions seeded by the world seed
- Terrain height — A 3D noise function determines the terrain height and shape. Mountains, valleys, and ocean depth come from this layer
- Surface decoration — Grass, sand, gravel, snow, and other surface blocks are placed based on biome type
- Cave generation — Cheese caves (open caverns), spaghetti caves (tunnels), and noodle caves (thin tunnels) are carved using 3D noise
- Aquifer placement — Underground water and lava pools are placed using aquifer noise maps
- Structure placement — Villages, temples, fortresses, etc. are placed using grid-based algorithms
- Feature decoration — Trees, flowers, ores, tall grass, mushrooms are placed
- Mob spawning — Initial mob population is set based on biome and structure presence
Biome Generation
Since 1.18, Minecraft uses a multi-noise biome system. Each location is assigned multiple noise values that determine its biome:
| Noise Parameter | What It Controls | Example |
|---|---|---|
| Temperature | Hot vs. cold biomes | Desert (hot) vs. Snowy Plains (cold) |
| Humidity | Wet vs. dry biomes | Jungle (wet) vs. Badlands (dry) |
| Continentalness | Ocean vs. inland | Deep Ocean (low) vs. Mountains (high) |
| Erosion | Flat vs. mountainous | Plains (high erosion) vs. Peaks (low) |
| Weirdness | Mutated/variant biomes | Regular Forest vs. Flower Forest |
| Depth | Surface vs. underground | Dripstone Caves, Lush Caves (deep) |
These six noise values are combined to select from Minecraft's 60+ biomes. The algorithm ensures that temperature transitions are smooth — you won't see a desert directly next to a snowy tundra.
Structure Generation — Why Structures Spawn Where They Do
Structures don't use biome noise — they use a grid-based spacing system:
The Grid System
- The world is divided into a grid of regions (size varies by structure type)
- Each region can contain at most one of that structure type
- Within the region, the structure's position is calculated using the seed + region coordinates
- The structure only generates if the chosen position has the correct biome
Spacing by Structure Type
| Structure | Max Spacing | Min Spacing | Required Biome(s) |
|---|---|---|---|
| Village | 34 chunks | 8 chunks | Plains, Desert, Savanna, Taiga, Snowy Plains |
| Desert Temple | 32 chunks | 8 chunks | Desert |
| Jungle Temple | 32 chunks | 8 chunks | Jungle, Bamboo Jungle |
| Ocean Monument | 32 chunks | 5 chunks | Deep Ocean variants |
| Stronghold | Ring-based | — | Any (underground) |
| Nether Fortress | 27 chunks | 4 chunks | Any Nether biome |
| Trial Chamber | 34 chunks | 12 chunks | Any (underground) |
| Ancient City | 24 chunks | 8 chunks | Deep Dark |
Java vs. Bedrock — Key Differences
While Java and Bedrock share the same seed number system, their world generation algorithms differ:
| Feature | Java Edition | Bedrock Edition |
|---|---|---|
| Biome placement | Multi-noise system (1.18+) | Similar but not identical |
| Same biomes for same seed? | Roughly similar, but NOT identical between editions | |
| Structure positions | Different algorithm | Different algorithm |
| Same structures for same seed? | No — positions differ between editions | |
| Seed range | Full 64-bit (-2⁶³ to 2⁶³-1) | 32-bit range (-2³¹ to 2³¹-1) |
| Cave generation | Noise caves (1.18+) | Similar but different parameters |
| World height | -64 to 320 (384 total) | Same range |
12345 will create different worlds on Java vs. Bedrock. Biomes will be roughly similar but structures, villages, and detailed terrain will differ. Seeds are NOT cross-compatible between editions.
How Version Updates Affect Seeds
Minecraft updates often change world generation, which means the same seed produces different results on different versions:
- 1.17 → 1.18 (biggest change ever): Complete terrain overhaul. World height extended from 0-256 to -64 to 320. Cave generation completely rewritten. Almost all seeds produce drastically different worlds.
- 1.18 → 1.19: Added Deep Dark biome and Ancient Cities. Terrain generation mostly unchanged. Seeds produce similar overworld terrain but new underground content.
- 1.19 → 1.20: Added Cherry Grove biome and Trail Ruins. Minor terrain adjustments. Most existing worlds barely affected.
- 1.20 → 1.21: Added Trial Chambers and Pale Garden. Structure generation updated but surface terrain largely stable.
How to Find Your Seed
| Edition | Method | Command |
|---|---|---|
| Java (Singleplayer) | Press F3 or use command | /seed |
| Java (Multiplayer) | Server admin only | /seed (requires OP) |
| Bedrock (All platforms) | Game Settings | Settings → Game → Seed (displayed in world settings) |
| Bedrock (Command) | Chat command | /seed (requires cheats enabled) |
Seed Tools & Map Viewers
Several tools can analyze seeds and show you what's in your world without loading it:
| Tool | Type | Best For |
|---|---|---|
| MC Seed View | Web-based (free) | Interactive map with 20+ structure finders, biome overlay, multi-version support |
| Chunkbase | Web-based | Basic structure finding |
| Amidst | Desktop app | Large-scale biome overview |
| Cubiomes | C library | Programmatic seed analysis, research |
🗺️ Try It on Your Own Seed
Enter any seed to see how world generation works in action.
Open MC Seed View →Frequently Asked Questions
Do Java and Bedrock use the same seeds?
Can two different seeds create the same world?
What happens if I don't enter a seed?
/seed command. Every world has a seed — it's just automatically chosen when you don't specify one.Does the seed determine everything in the world?
Can I use a negative seed?
-1 is a perfectly valid seed that creates a specific, reproducible world. Negative seeds are just as "good" as positive ones.