Diamond Finder
Find diamond ore locations by seed for Minecraft Java and Bedrock, overlaid on a real map of your world's overworld terrain.
Advanced Options
Enter your seed, edition, and coordinates, then hit Load. Every predicted diamond vein shows up on your world's real terrain, right where it will generate in-game.
Zoom in and hover or tap a vein for its exact X / Y / Z. Right-click a vein to mark it mined, or right-click the map to drop a waypoint. Depth range, minimum vein size, and buried veins live under Advanced...
Vein origins come from the exact world generation math for Java 26.2 and Bedrock 26, validated against real generated worlds.
Caves can cut into a predicted vein, so the ×N count is a maximum before cave culling, and where a cave runs straight through, a vein can be missing entirely. Full detail in the reference section below.
Terrain via the cubiomes library by Cubitect, running on the Nether Seed Map engine.
Java algorithm ported from decompiled source. Bedrock algorithm reverse engineered from the Dedicated Server binary and validated against a real world save.
Reference: Diamond Generation
Diamonds generate between Y=16 and the bottom of the world at Y=-64, and the distribution is heavily skewed toward the bottom. Four separate generation rules place veins in every chunk, which is why diamonds are both common enough to find and scattered enough that strip mining feels slow. The math behind those rules is what makes a seed-based finder possible.
The expandables below cover the questions people actually ask: the best Y level, what differs between Java and Bedrock, why a predicted vein can come up short, and what buried veins are.
Where diamonds actually generate
Every chunk runs four diamond placement rules:
- Small: 7 attempts per chunk, up to 4 blocks per vein, biased toward the bottom of the world.
- Medium: 2 attempts per chunk, up to 8 blocks (4 on Bedrock), spread evenly from Y=-64 to Y=-4.
- Large: 1 attempt in roughly 1 of every 9 chunks, up to 12 blocks. The jackpot veins.
- Buried: 4 attempts per chunk, up to 8 blocks, never exposed to air (more below).
The bottom-biased rules use a triangular distribution centered below the world floor, so density keeps climbing all the way down to Y=-64. That is vanilla's mechanism for making deep mining worthwhile, and it is why most icons on this map cluster in the darkest end of the depth scale.
Best Y-level for mining diamonds
Y=-59 is the conventional branch-mining answer and it holds up: near-peak density while staying comfortably above bedrock. The nuance:
- Density rises toward Y=-64, but the bedrock floor starts intruding below about Y=-60, which makes tunneling annoying.
- Lava aquifers generate below roughly Y=-54, so any deep mining session should carry a water bucket.
- Above Y=0 density falls off quickly; above Y=16 diamonds stop entirely.
With this map the question mostly disappears: instead of picking a Y level and strip mining it, pick a cluster of icons near your base, dig a two-block shaft straight down (stand over the gap), and collect at the exact coordinates shown. Fortune III pays for itself fast when you know where 20 veins are before you start digging.
Java vs Bedrock: what's actually different
Both editions place diamonds with the same general structure (multiple rules per chunk, bottom-biased Y distribution), but the random number generators are completely different.
Java uses Xoroshiro128++ seeded from the world seed plus chunk coordinates, with a fixed feature ordering inside each chunk. Bedrock uses a 32-bit MT19937 with its own chunk-seed derivation: worldSeed XOR (chunkX·r1 + chunkZ·r2), where r1 and r2 come from two outputs of a world-seed-initialized MT, combined with a per-rule hash.
Practically: the same world seed produces entirely different diamond layouts in Java vs Bedrock. Always set the edition dropdown before reading coordinates. The Java algorithm here is ported from decompiled source; the Bedrock algorithm was reverse-engineered from the Bedrock Dedicated Server binary (Ghidra + gdb) and validated against a real Bedrock world save.
The terrain map itself applies to both editions: Java and Bedrock share the same terrain and biome generation since 1.18 (seed parity). One Bedrock caveat: in chunks that span more than one biome, a small number of shown veins may not generate (Bedrock decorates per-biome); most chunks are single-biome and unaffected.
Why some diamond icons don't generate in-game
Most diamond rules use an air-exposure discard: when generation places a vein block next to open air, a coin flip (50%, or 70% kept for large veins) decides whether the block survives. Caves, ravines, and aquifers carve through the deepslate layer constantly, so a vein that a cave intersects can land in-game smaller than predicted, and occasionally not at all.
The map is honest about this split:
- Vein origins are exact. The anchor position of every icon comes straight from the seed math.
- Counts (×N) are a maximum before cave culling. A ×4 icon means up to 4 blocks; if a cave cuts through, expect fewer.
Practical reading: icons in solid stone away from big cave systems are reliable. If you dig to an icon and find a cave wall, check the immediate area, part of the vein usually survives nearby.
Buried veins: the diamonds you can't find any other way
The buried rule (4 attempts per chunk, up to 8 blocks) skips the air-exposure discard entirely: every block places unconditionally. The practical result is veins fully encased in stone that never show a face in any cave, which makes them essentially invisible to normal exploration and cave mining.
That also makes them the best targets on this map. Cave culling never removes their blocks, so a buried icon is about as close to a guaranteed find as world generation allows. Toggle them on or off in Advanced... settings.
How this tool differs from other diamond finders
Most "diamond finder" results are either Y-level advice articles or chunk-probability estimators. They tell you where diamonds are likely; they don't tell you where yours are.
This tool computes the actual world generation math for your specific seed and shows every predicted vein at its exact coordinates, overlaid on your world's real terrain (biomes and surface relief via the cubiomes library). Depth is color-coded, veins can be filtered by Y range and minimum size, and buried veins, which no amount of caving will ever reveal, are marked explicitly. It works for both Java and Bedrock, and the Bedrock side is validated against a real world save rather than assumed to match Java.