OpenStreetMap to Minecraft: What Turns Into Which Blocks
OpenStreetMap to Minecraft: What Turns Into Which Blocks
You generate a world of your neighborhood and most of it is spot on — the street grid, the park, the river — but one building is a squat box when it should be a tower, and the school field is plain grass. To understand why, it helps to know how OpenStreetMap to Minecraft conversion actually works: which map data turns into which blocks, and what the generator has to guess when the map is silent.
This post walks through it in plain language. If you want the pipeline from start to finish, read how we convert real maps into Minecraft worlds. Here we focus on the translation itself.
Where the Data Comes From
OpenStreetMap (OSM) is a free map of the world made by volunteers, published under the Open Database License (ODbL). It is not a picture of the world. It is a database of shapes with labels attached. A building is a closed outline tagged building=house or building=school. A road is a line tagged highway=residential. A lake is an area tagged natural=water. Those labels are called tags, and they are what the generator reads.
Map2Minecraft worlds are built by a generator based on the open-source Arnis project. It reads the OSM tags inside the box you draw, adds real ground elevation, and lays down blocks at one block per metre. Nothing is traced from photos: if a feature is not in the map data, it will not be in the world.
Buildings
Buildings are the part people notice first, and the part that depends most on how well your area is mapped.
- Footprint. The outline drawn in OSM becomes the outline of the walls, block for block. Curved walls become stepped edges, because Minecraft only has cubes.
- Height. If the building has a
heighttag (in metres), that is used. If it hasbuilding:levels(the number of floors), the height is worked out from the floor count, with a slightly taller ground floor. Tags likemin_heightlet parts of a building start above the ground, which is how overhangs and towers on podiums come out right. - When there is no height. Many buildings are mapped as an outline with no floor count. The generator then makes a reasonable guess from the building type and footprint size: a house gets one to three floors, an apartment block three to six, a church a tall hall, a warehouse a tall single space, an unlabeled small box a single storey. That is why an untagged office tower can come out short — the generator has no way to know it is tall.
- Roofs. A
roof:shapetag such as gabled, hipped or dome shapes the roof. Without it, the generator picks a roof that suits the building. - Materials and colours. Tags like
building:material,building:colourandroof:coloursteer the choice of wall and roof blocks, so a brick building can actually look like brick. - Interiors. With the Building Interiors option on, buildings get floors and rooms inside. These are generated, not copied from real floor plans — OSM almost never contains indoor layouts.
Roads, Paths and Railways
Roads come from lines tagged highway=*. The type of road sets its width: motorways and primary roads are wide, residential streets narrower, footpaths and cycleways one or two blocks. Ordinary roads are laid in a grey asphalt-like mix of blocks, while footways and pedestrian areas get concrete and unpaved paths become dirt paths. A surface tag (for example surface=paving_stones or surface=gravel) changes the material. Bigger roads get lane markings and pedestrian crossings where the map shows them.
Railways become actual Minecraft rails on a gravel bed. Bridges are built where the map marks a road or railway as a bridge, which is what keeps a river crossing from turning into a dam.
Water
Lakes, ponds, reservoirs, canals and wide rivers are areas in OSM, and they are filled with water blocks. Narrow streams are often drawn only as lines, so they become thinner channels. The ground under and around water is levelled so the surface sits flat instead of running uphill, which is why river cities like Amsterdam and Venice come out so recognisably. Beaches become sand, and wetlands become mud.
Land Use: Parks, Fields and Everything Between Buildings
The ground between buildings is shaped by land-use and natural tags. A few examples of what turns into what:
- Parks, meadows and grass become grass blocks, with flowers and tall grass where it fits.
- Farmland becomes tilled farmland; orchards get rows of trees.
- Cemeteries use podzol, giving them a darker look.
- Industrial land and quarries become stone; construction sites become coarse dirt.
- Schools, colleges and places of worship get a paved look with polished andesite.
- Public squares become stone bricks.
- Bare rock becomes stone, sand and dunes become sand, and glaciers become packed ice.
Sports pitches, playgrounds, parking lots, benches and other small details appear when they are mapped. The more an area is mapped, the less the ground looks like a generic lawn.
Trees
A single tree mapped as natural=tree becomes one Minecraft tree at that spot. A row of trees along a street (natural=tree_row) becomes a line of trees. Woods and forests are filled with trees spread naturally across the area. Map2Minecraft worlds use procedurally built trees, so they vary in shape rather than all being the same stamp.
Elevation
The shape of the land does not come from OSM, which is mostly flat outlines. It comes from public elevation datasets that record ground height across the world. With the 3D Terrain option on, the generator raises and lowers the ground to match, so hills, valleys and riverbanks are where they should be, and buildings sit on the slope. Turn it off and you get a flat world, which some builders prefer for very flat cities. We cover hills, mountains and the build-height limit in a separate post on real-world terrain.
What This Means for Your World
A few practical takeaways:
- Well-mapped places look best. Central London, New York and Kyoto have detailed heights, roofs and small features, and it shows.
- Missing tags mean guesses. If a landmark comes out the wrong height, it almost always lacks a
heightorbuilding:levelstag. - The map is fixable. Because OSM is open, anyone can add those tags. Our guide to adding your town to OpenStreetMap shows how to do it properly.
- Preview before you download. The in-browser 3D preview shows exactly how the data turned out for your area, so you can spot gaps before you commit.
The best way to see all of this is to try a place you know well. Draw a box around it, generate, and walk the streets in the preview. You will quickly see which parts of the map are rich and which are thin — and once you know what the generator reads, you know why.
The map data in every world is © OpenStreetMap contributors.
Real city maps to try





