Fantasy Map Generator: Random World Maps With Towns

Pick a continent, an archipelago or a single island, set the climate and how much of the map is land, and get a fantasy map with coastlines, biomes, rivers and 6 to 12 named towns. Download it as a parchment, colored biome or game minimap PNG at 1024 or 2048 pixels wide, plus a grayscale heightmap you can load into a game engine as terrain.

Step 1 of 3: Shape and size
What kind of land?
How much world?

How to use it

  1. Choose Continent, Archipelago or Single island and a size of Region, Kingdom or World, then press Next.
  2. Choose a climate, drag the Land slider to set how much of the map is land, keep or untick Rivers, and press Next.
  3. Choose Parchment, Colored biomes or Game minimap and press Generate map.
  4. Press Reroll seed for a new map with the same settings, or switch the style under the map without changing it.
  5. Pick 1024 or 2048, then press Download PNG, Download heightmap PNG or Download heightmap .r16, or press Copy Ziva prompt to turn the map into an overworld scene.

How the map is generated

The land starts as fractal noise: seven layers of seeded Perlin noise, each twice as detailed and half as strong as the one before, with a slow noise field bending the coordinates so coastlines do not look like stretched blobs. A falloff then decides where land may rise: a wide square for a continent, a circle for a single island, and almost none for an archipelago, whose noise runs at nearly twice the frequency so it breaks into many islands.

Sea level is not a fixed height. The generator sorts every height sample and puts the coast exactly where your land percentage says, so 40% land always means 40% land. Biomes come from height above the sea, a separate moisture noise and a temperature that drops toward the top of the map (toward both poles on a World map) and with altitude, much like a Whittaker biome chart: dry and hot becomes desert, wet and warm becomes jungle, cold becomes tundra and pine forest.

Rivers come from a drainage pass on a 256-wide grid. A priority flood from the sea gives every land cell a path downhill to the coast, rain is added up along those paths, and every cell that collects enough water becomes river, drawn wider the more it carries. Towns go where a settlement makes sense: near the coast or a river, below the mountains, away from deserts and marshes, and spread out. The largest is the city; the names come from the same word lists as the fantasy town name generator, matched to the climate.

Using the heightmap in Godot and Terrain3D

The heightmap is black at the deepest sea floor and white at the highest peak, with the coast always at 20% of the range (gray 51), so you can put a water plane at the same height for every map. Land heights follow the same curve as the map colors, so lowlands, hills and peaks line up with what you see.

In Godot 4.3 or newer you can load the PNG as collision terrain: Image.load_from_file() reads it, image.convert(Image.FORMAT_R8) makes it a single channel, and HeightMapShape3D.update_map_data_from_image(image, height_min, height_max) fills the shape, resizing it to the image. The PNG has 8 bits per pixel, and the Godot docs warn that 8-bit heightmaps give stepped, terraced terrain, so keep the height range modest or smooth it.

For the Terrain3D add-on, download the .r16 file instead. Its documentation recommends exr or r16 for heightmaps because Godot only reads 8-bit PNGs. The .r16 is raw 16-bit little-endian heights with no header, so the importer needs the height range and, for non-square maps, the dimensions, which are in the file name (for example 1024x512).

Frequently asked questions

Is this fantasy map generator free?
Yes. It runs in your browser with no account and no AI, and you can use the maps and town names in your game, campaign or book.
How is this different from Azgaar's Fantasy Map Generator?
Azgaar's generator is a full world-building editor with states, cultures and editing tools. This one is deliberately small: three steps, one map in about a second, and exports aimed at games, such as a minimap style, a heightmap PNG and a 16-bit .r16 file.
Can I use the map as a heightmap for 3D terrain?
Yes. Download heightmap PNG for Godot's HeightMapShape3D or any engine that reads grayscale images, or Download heightmap .r16 for 16-bit precision in Terrain3D and other tools that read raw 16-bit heights.
Why are some town names repeated across maps?
Town names are built from region word lists for the climate you pick, so two maps with the same climate share a style and can share a name. Every town on one map has a different name.
What sizes can I download?
Region maps are square (1024x1024 or 2048x2048), Kingdom maps are 4:3 (1024x768 or 2048x1536) and World maps are 2:1 (1024x512 or 2048x1024). The 2048 export redraws the same map at twice the detail, and the heightmaps come in the same sizes.

See all tools