Cartogenesis

Procedural world-map generator

Open source, free to use

Build a world from the ground up.

Generate a world map from a seed. Shape its terrain, rivers, climate and borders, then choose a map style and export the result.

Free and open source · Your maps stay on your device

A generated world map in the Natural style: a northern continent with a mountain range along its spine, a river system draining to a ragged southern coast, lakes, offshore islands, and the coast of a second continent at the right.
A generated world in the Natural style, with mountain ranges, river systems, lakes and islands. Seed 718106 · 62% ocean · 14 tectonic plates

How a world is made

Plates and mountains

Moving tectonic plates form mountain ranges, volcanic arcs and broad plateaus. Where plates pull apart, rift valleys can fill with water.

Erosion

Erosion reshapes the terrain. Slopes collapse, rivers carve valleys, and sediment builds floodplains, fans and deltas.

Seas and ice

Continental shelves lie along the coasts. Glaciers shape cold mountains, and ice sheets leave behind basins and lakes.

Climate

Seasons, ocean currents and terrain shape temperature and rainfall. Climate zones decide where forests, grasslands and deserts form.

Rivers and lakes

Water flows downhill into rivers, lakes and seas. In dry inland basins, evaporation can shrink a lake and leave salt behind.

Realms and peoples

Geography shapes borders and settlement. Realms follow rivers, coasts and watersheds, while peoples spread into familiar terrain and across political borders.

Realistic map styles

Compare the same landscape in Atlas, Schoolroom and Natural. Atlas combines elevation and climate colours, Schoolroom shows elevation, and Natural uses colours taken from satellite imagery.

The same square of a generated world drawn three times. Atlas colours the land by height and climate in muted greens and tans with a pale blue sea. Schoolroom colours it by height alone in bright greens and oranges. Natural uses satellite colours: dark green forest, ochre plains, rust ranges and a cobalt sea. Labelled Atlas, Schoolroom and Natural.
The same region in Atlas, Schoolroom and Natural, at the same scale. Seed 718106

The data behind the map

The temperature, ocean currents, winds and rainfall calculated for the same coastline.

The same stretch of coast drawn four times. Temperature shades the land from orange in the lowlands to white on the peaks. Ocean currents draws small arrows over the sea. Winds draws larger arrows, blue eastward in the north and orange westward in the south. Rainfall shades the land from yellow where it is dry to green where it is wet. Labelled Temperature, Ocean currents, Winds and Rainfall.
Four views of the same coastline: its temperature, currents, winds and rainfall. Seed 718106

More map styles and data views are in the generator.

Features

Views
Fifteen views, including political borders, peoples, elevation, biomes, seasonal temperature and rainfall, tectonic plates, ocean currents and winds.
Styles
Twelve map styles, including Atlas, Vellum, Ink wash, Nautical, Pen and ink, Mars, Natural and a colour-blind-safe palette.
Themes
Seventeen interface themes, including light, dark, high contrast and colour-blind options.
Editing
Edit generated names and borders. Your changes are saved with the world.
Saves
Save a world and reopen the same file in the browser or the desktop app.
Export
Export map images as PNG, WebP or JPEG, or the data behind the map: a 16-bit heightmap with its metre scale, and biome and realm index maps with their legends. Up to 4096 × 4096 in the browser and on the desktop; phones are capped at 2048 × 2048.
Resolution
Choose the world's resolution. Higher settings add detail and need more memory; the browser starts at 512, the desktop app at 1024.
Acceleration
Optional graphics acceleration speeds up erosion and export rendering: WebGPU in the browser, OpenGL on the desktop.

Notes

Running it in a browser

Use a recent Chrome, Edge, Firefox or Safari. The first visit downloads the generator, about 4.6 MB, and caches it; nothing you make is uploaded anywhere.

Optional graphics acceleration uses WebGPU where the browser offers it.

Sizes, formats and speed

An export regenerates the world at the size you ask for, so the detail is real rather than enlarged. Larger worlds take longer and use more memory. On phones, browser exports are capped at 2048 × 2048 to keep memory in bounds.

PNG keeps every pixel. WebP is smaller and softens thin rivers and borders slightly.

The Atlas is a work in progress

Today the Atlas lists a world's realms and landmarks and lets you rename them and place labels. Your changes are saved with the world. A later release, planned for 5.0, adds named continents, seas, bays, straits and ranges, with labels set out the way a printed atlas sets them.

Desktop versionWindows · Linux

Generate larger worlds with a desktop app that uses every processor thread. Download and Installation below says what each platform offers and how to install it; the steps live there rather than here, so there is one copy of them to keep true.

Get the latest release ↗

Download and Installation

Choose a download for Windows or Linux, or run Cartogenesis in the browser.

Windows

Unzip the portable zip and run Cartogenesis.exe. Nothing is installed. Or choose the MSI installer. It is unsigned, so Windows shows a SmartScreen warning. If you trust the download, choose “More info”, then “Run anyway”.

Cartogenesis-<version>-windows-portable.zip and Cartogenesis-<version>.msi on the release page.

LinuxDebian · Ubuntu

The apt repository is recommended. The three commands below fetch the signing key, add the source line and run apt install. Alternatively, install the .deb with apt, or unpack and run the portable tarball. Java is bundled, with nothing else to install. The open-source graphics stack (Mesa) was tested. The proprietary NVIDIA driver was not. Saved worlds live in ~/.cartogenesis/worlds.

sudo curl -fsSL https://cartogenesis.com/apt/key.asc -o /etc/apt/keyrings/cartogenesis.asc
echo "deb [signed-by=/etc/apt/keyrings/cartogenesis.asc] https://cartogenesis.com/apt stable main" | sudo tee /etc/apt/sources.list.d/cartogenesis.list
sudo apt update && sudo apt install cartogenesis

Cartogenesis-<version>-linux-amd64.deb and Cartogenesis-<version>-linux-portable.tar.gz on the release page.

Browser

Run Cartogenesis at cartogenesis.com. Nothing is installed and nothing is uploaded. You can also host the web zip yourself over HTTPS.

Cartogenesis-<version>-web.zip on the release page.

The release page

Every file above, for the current release, with the notes saying what changed in it.

Get the latest release ↗

What comes next

Planned releases and what each one brings. No dates: a release lands when its work is done.

3.0.0Current
The realism audit: the plates, the seas, the air and the water measured against Earth and corrected where they were wrong.
3.1
Monsoon coasts, rain that reaches the interiors, and vegetation that follows the rain.
3.2
Erosion that reads the climate, and river channels that start where they should.
3.3
Ice sheets as bodies of ice, and waves and drift along the coasts.
3.x
A topographic map style with contour lines, hydraulic erosion on the graphics card, and a choice of planet size.
4.0
The world as a sphere: physics in metres, a globe to turn, and a choice of map projections for the whole-world map and for exports.
4.x
Graphics acceleration on a native WebGPU runtime, so the desktop runs the same kernels as the browser on Vulkan, Direct3D 12 or Metal.
4.x
Import a heightmap, from Wonderdraft or any greyscale image, as the terrain a world is generated from.
5.0
The full atlas: named continents, seas, bays, straits and ranges, with labels set out the way a printed map sets them.
6.0
Drafting a world by hand: paint, raise and lower land as you watch, choose the kind of world the generator starts from, and place symbols from packs on layers, with everything drawn still put through the generator.

Found something wrong? Report it with the seed and the generation resolution. Open an issue, or write to bugreport@cartogenesis.com. Help ▸ Report a bug… in the app fills the form in for you.

Have a feature in mind? Say so. Suggest a feature, or write to dev@cartogenesis.com.