$ for developers

OSM-to-Minecraft,
production-grade.

Rust-based arnis engine, BlueMap live preview, SRTM elevation, Java & Bedrock export. Designed as a one-shot pipeline you hit from a browser, not a toy you have to stand up yourself.

arnis-worker
$ generate --bbox 52.37,4.89,52.38,4.91
▸ fetching OSM extract...
buildings=1247 highways=832 waterways=14
▸ arnis generation...
extruding footprints → 48s
▸ terrain bake (SRTM)...
elevation samples → 12s
▸ bluemap render...
tiles=256 → port 8102
✓ world ready (2.1 MB)
$ _
// the pipeline

Four stages, one click

01

OSM extract

User selects a bounding box on a MapLibre frontend. Backend pulls the OpenStreetMap extract for that bbox — buildings, highways, natural features, waterways, amenities.

02

arnis generation

The Rust-based arnis engine converts OSM features into Minecraft block data: building footprints get extruded to OSM building:levels height, roads become block paths, parks become grass biomes.

03

Terrain bake

SRTM-derived elevation is sampled across the bbox and baked into the terrain layer, producing real topography — hills, valleys, coastline relief.

04

Preview + export

BlueMap renders a live 3D preview on a per-job port. User previews before paying. On purchase, the world is packaged as a Java save folder or Bedrock .mcworld and served.

// stack

Built on

arnis
Rust generation engine
Open source
BlueMap
Live 3D preview renderer
JVM subprocess
OpenStreetMap
Source of all map data
ODbL license
SRTM
Global elevation model
Terrain topography
Next.js 15
Web frontend + API
Vercel/Railway
Axum + tokio
Async worker service
Rust backend
Four Minecraft worlds generated by the Map2Minecraft pipeline

// four outputs from the same pipeline: city, park, intersection, skyline

// questions

Technical FAQ

What engine powers generation?+
arnis — an open-source Rust tool for converting OSM data to Minecraft worlds. Map2Minecraft runs a multi-worker service around it with queue management, preview rendering, payment, and packaging on top.
Java or Bedrock output?+
Both. Java Edition worlds are delivered as a standard world folder in a zip. Bedrock worlds are delivered as a .mcworld file that double-clicks to install on any Bedrock platform (iOS/Android/Xbox/PS/Switch/Windows 10).
How's the live 3D preview rendered?+
BlueMap, run as a per-job JVM subprocess inside a bounded port pool. Render happens as a timed step in the generation pipeline; a long-lived webserver then serves hires .prbm tiles to an embedded viewer in the Create flow.
Data fidelity — what's lost in translation?+
Building footprints are exact. Heights depend on OSM 'building:levels' or 'height' tags being present — great in major European and NA cities, sparser elsewhere. Signage, logos, and interior details aren't in OSM so they aren't in the world. Roads render as block paths, not detailed surfaces.
Can I generate programmatically / via API?+
There's no public API today — the frontend is the intended interface. If you have a genuine use case (research, teaching, commercial integration), reach out and we can discuss access.
Self-hosting? Is it open source?+
The underlying arnis engine is open source and self-hostable. Map2Minecraft adds the service wrapper, the payment layer, queue management, and the BlueMap preview pipeline — that stack is not open source.
Concurrency and limits?+
Generation is bounded by a worker semaphore (currently 2 concurrent arnis runs on an 8GB/8vCPU Railway container). Preview rendering runs on a separate bounded port pool so a slow render doesn't block the generation queue.
// ready?

Run it

Bbox → world file in under 5 minutes.

Generate a World