Disclosure: I built and run MCSeedLore, a browser-based seed map for Minecraft Java. It's an independent tool and isn't affiliated with Mojang or Microsoft.
A seed map looks like magic the first time you use one. You paste a number, and a map of a world you've never opened shows up with villages, strongholds and slime chunks already marked. There's no trick to it, though, and once you see how it works it's much easier to tell when a marker deserves your trust and when it doesn't.
This post covers the "how", then the practical side: correct input, finding structures, slime farms, and the limits that catch people out. The examples use MCSeedLore because I can speak for its internals, but the ideas apply to any seed map.
Why a map can predict a world it has never seen
Minecraft world generation is deterministic. The same seed, game version and generation settings produce the same terrain, biomes and structure positions every time. A seed map re-runs the relevant parts of that generation logic outside the game. It never reads your save file. (MCSeedLore doesn't read or modify world files at all.)
The engine behind MCSeedLore is Cubiomes, the open-source C library that reimplements Minecraft's biome and structure generation. The calculation runs in your browser, not on my server, so using the map needs no account. Large searches and detailed views are slower on older devices for the same reason.
Three inputs decide whether the output matches your game:
-
The seed. Run
/seedin a Java world where you have permission and copy the full number, minus sign included. If the world was created from a text seed, Java turns the text into a number. MCSeedLore accepts both signed 64-bit integers and Java text seeds. - The version that generated the area. This is the one people miss. If you started a world on 1.20.6 and upgraded it, the chunks you already explored keep their old generation. New chunks use the new rules. Match the version to the area you care about, not to the version you're playing today.
- Standard generation. Custom world generators, large biomes and modified generation settings aren't supported. Neither are data packs that change generation.
How structure prediction works, conceptually
Most structures are placed in two stages, and seed maps copy the first stage almost exactly:
- Placement. The world is split into a grid of regions per structure type. A random number generator seeded from the world seed and the region coordinates picks at most one attempt position inside each region. That part is pure arithmetic, cheap and exact.
- Viability. The game then checks whether the structure can actually exist there. Is the biome right? Does the terrain allow it? Does it fit?
A seed map can do the biome check. It can't fully simulate block-level terrain. So what you get is a candidate: a position that passed placement and, for many structure types, a biome check. On MCSeedLore some layers are biome-checked candidates, and mineshafts are shown as raw placement candidates. Terrain can still stop a structure from generating, and no marker includes a Y coordinate.
Strongholds don't use the region grid. In Java they're placed in rings around the world origin. The marker predicts the structure's start. It doesn't point to the portal room.
Biomes: one height, by design
Since 1.18, Java biomes are three-dimensional, so a cave biome can sit under a completely different surface biome. A 2D map has to choose what height it samples. MCSeedLore's biome-colour mode samples at Y=63, roughly sea level. The natural-terrain view instead uses estimated heights and shading. It isn't a block renderer: peaks and shorelines can differ, and trees, buildings and anything players changed aren't shown.
Biome search returns a confirmed sample point within a bounded search. It doesn't promise the nearest biome edge, and very small patches can be missed.
Practical use 1: find a structure and get there
- Open the seed map, paste your seed and choose Java plus the exact version.
- Turn on the layer you need. Each structure also has its own finder page that opens with that layer on. Trial chambers need 1.21, so that layer is only offered for 1.21.1 and 1.21.3.
- Copy the X/Z coordinates, or save a map link to come back to the same view.
- In game, travel to X/Z and look around. Don't teleport blind to Y=63. The tool doesn't calculate a safe standing height.
If the structure is far away, the Nether portal calculator turns Overworld X/Z into Nether X/Z (and back) using the 8:1 horizontal ratio. Y isn't scaled. Existing portals and the game's search range still decide which portal you actually link to.
No seed (for example, a server where the owner won't share it)? The stronghold triangulation tool takes two Eye of Ender throws, each as X, Z and yaw from the F3 screen, and intersects the two rays. In Java F3, yaw 0ยฐ faces south (+Z) and 90ยฐ faces west (โX). Throw from points well apart so the rays don't run nearly parallel. Both throws must point at the same stronghold.
Practical use 2: plan a slime farm
Slime chunks are the easiest thing to predict, because in Java whether a chunk is a slime chunk is a pure function of the world seed and the chunk coordinates. About one chunk in ten qualifies.
The slime chunk finder draws them as an overlay aligned to the 16ร16 chunk grid. Two details save hours of digging:
- Negative coordinates use floor division. Block X = โ1 is in chunk X = โ1, not chunk 0. Off-by-one chunk errors on the negative side are the classic "my farm spawns nothing" bug.
- A slime chunk is one requirement, not a guarantee. In Java, slimes in slime chunks spawn below Y=40, and normal spawning rules still apply: light, space and player distance among them. The overlay doesn't simulate mob spawning.
Bedrock handles slime chunks differently, so never use a Java overlay for a Bedrock world. MCSeedLore keeps the editions separate.
Sharing links: the seed is in the URL
The whole map state lives in the URL: seed, edition, version, dimension, mode, centre, zoom, layers and selected location. That makes links easy to share, and it also means anyone with the link can read the seed. Seeds make it much easier to find bases on a private server, so don't post a map link from one. Creating a short link stores that state on the server.
What's supported, and what isn't
Straight from the site's support and accuracy page, as of this writing:
- Java 1.20.6, 1.21.1 and 1.21.3, covering the Overworld, Nether and End. The Java catalog has 20 structure types.
- Bedrock 1.21.0 exists as an experimental option. It hasn't been validated against generated game worlds, and Bedrock strongholds and spawn aren't supported.
- Biomes, villages, strongholds and slime chunks are algorithmic predictions. They're checked with automated regression tests, official game data and a limited set of published examples. Broad in-game validation hasn't been done yet, so check anything important in game.
- The spawn marker is an estimate of world spawn, not your bed.
If you're on a different version, the honest answer is that this tool can't help you yet, and a "close enough" version will give you confidently wrong markers.
A quick checklist when the map and your world disagree
- Is the seed complete, including the minus sign?
- Which version generated that area? Upgraded worlds keep old chunks.
- Any custom generator, large biomes or a generation data pack?
- Are you treating a candidate as a guarantee? Check the terrain.
- For slime chunks: are your negative chunk coordinates right, and are you below Y=40?
If all five check out and it's still wrong, that's worth a bug report. The map has a "Report an issue" button, and attaching the seed and map state is opt-in.
I'm Kangsen Ying (yksalun). MCSeedLore is a solo project. The map needs no account. Optional community accounts exist only for sharing seeds, likes and comments.












