This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
The heightmap editor allows you to create and customize the heightmap manually, giving you more control over the world's terrain, unlike random generation.
To access the Heightmap Editor, you can either:
- Navigate to Tools > Heightmap in the menu. (Look at the image below)
- Use the hotkey Shift + H.
Contour display
To show contour lines on a finished map, enable the Heightmap layer, then open Style → Heightmap. Choose the landHeights or oceanHeights group and set Contours to Over colors or Lines only. Ocean contours also require Render ocean heights to be enabled.
Adjust Contour spacing, color, width, and opacity independently for each group. Lower spacing shows more detail; every fifth contour is twice as thick. Spacing uses the map's elevation scale, not meters or feet. The lines interpolate a gently smoothed surface without changing the terrain. These settings are saved with maps and custom style presets; contours are off by default.
Hachures
Hachures are the engraved alternative to contours: short tapered pen strokes combed down the fall line, seeded along the elevation levels, packed and heavy where the ground is steep and thinning out towards the foot of the slope. Flat ground and the tops of crests draw nothing, so mountain ranges read as hatched masses with white crest lines. Open Style → Heightmap, choose the landHeights or oceanHeights group and set Hachures to Over colors or Strokes only. Ocean hachures also require Render ocean heights to be enabled.
Adjust Hachure density, length and width (each relative to the default of 1), color and
opacity independently for each group. Strokes are placed deterministically from the map seed, so a map redraws the same way. Hachures
are saved with maps and custom style presets; the ink preset uses them in place of relief icons.
The ink preset pairs land hachures with Ocean embellishment under Style → Ocean. Choose
Waves or Straight strokes with the Type selector. Both types thin away
from the coast, then resume in the distant sea. The clear band between them follows the continents.
Tune density, length, reach, stroke color, stroke width, opacity, and the clear
Coastal gap, and an optional SVG Dash pattern such as 3 2. Reach and gap use cell spacings; width uses map pixels. A simple mask keeps the marks
off land and lakes. The selected type and pattern are saved with maps and style presets; older styles
retain Waves.
Modes
The heightmap editor offers three different modes to choose from. Its recommended to save your map beforehand.
-
Erase:
- This mode regenerates all data on your map, including cultures, states, biomes, and more.
- It offers the most customization features, such as the image converter and template editor.
-
Keep:
- This mode allows you to retain most of the map's existing data.
- However, it does not allow changes to the coastline.
-
Risk:
- This mode allows you to keep most of the map's data while also allowing changes to the coastline.
- Note that using this mode can potentially cause some errors.
Heightmap Editor Features
The Heightmap Editor includes tools to help you create and customize your map. Below is a detailed list of all available features:
-
Paint Brushes:
- Automatically opens and allows you to edit the map.
- Use different brushes to draw and modify the height.
-
Template Editor:
- Edit, load, or create templates for your heightmap.
-
Image Converter:
- Convert images into heightmaps.
-
Preview:
- Displays a monochromatic image of the map in the bottom left corner.
- You can click the image to download it.
-
3D Scene:
- Opens the map in the app's 3D preview.
- Allows for a more immersive view of the map's shape and features.
-
Render Ocean Cells:
- Renders or hides ocean cells in the editor preview.
- It does not enable or disable ocean cells in the map.
-
Show Drainage:
- Overlays the water flow: an arrow on every land cell points to where its water goes, thicker where more cells drain through.
- Depressions that water cannot leave are hatched in black: they get filled on finalization. Those deeper than the depression depth threshold are hatched in blue: with water erosion allowed they become lakes instead, and the hatching around them clears as the rest drains into them. Paint an outlet or raise the floor if you don't want either.
- The overlay stays on while you paint and updates after every edit.
-
Allow Water Erosion:
- Simulate water erosion effects on the terrain.
- Adds realism to the map by shaping the landscape according to water flow.
Once you are satisfied with the heightmap, click Exit Customization in the bottom right. The map must have at least 200 land cells, and the Image Converter must be closed first.
Paint brushes
- Raise: increases the height of cells in radius by the Power value; drag for continuous use.
- Elevate: drag to gradually increase the height of cells in radius by the Power value.
- Lower: drag to decrease the height of cells in radius by the Power value.
- Depress: drag to gradually decrease the height of cells in radius.
- Align: drag to set the height of cells in radius to the height of the cell under the cursor.
- Smooth: drag to level the height of cells in radius towards the height of the adjacent cells.
- Disrupt: drag to randomize the height of cells in radius based on the Power value.
- Fill: click an enclosed water area or a same-height land area to create a cone-shaped blob.
- Line: select two points to change the heights along a line — useful for ridges and trenches.
Sliders
- Size: brush radius (1–100). Shortcut: + / -, or [ / ].
- Power: brush intensity (1–10). Not used by the Align brush.
- Power (Line tool): the height change along the line, from -100 to 100.
- Randomness (Line tool): line jitter — zero makes the line as straight as possible.
Cells to change
A dropdown restricting which cells a brush may touch: all cells, only land cells or only water cells. Restricting to land or water prevents the brush from moving the coastline.
Footer Buttons
- Undo (Ctrl + Z): step back. Works only within heightmap customization.
- Redo (Ctrl + Y): step forward.
- Rescaler: a slider that shifts all heights up or down.
- Conditional rescaler: applies an operation to heights within a given interval — "if height is between X and Y, then do Z with operand V".
- Smooth: smooths all heights a bit.
- Disrupt: randomizes all heights a bit.
- Clear: sets all heights to 0 (erases the map).
Template Editor
Please see Template Editor.
Image Converter
Once opened, you'll be asked to select an image from your files.
-
Upload Image:
- Here you can upload a different image you’d like to convert into a heightmap.
- Recommended are monochromatic images with black representing the ocean.
-
Auto-Assign Colors Based on Luminosity:
- This option assigns the colors to heights based on their luminosity.
- Good for monochromatic images.
-
Auto-Assign Colors Based on Hue:
- This option assigns the colors to heights based on their hue.
- Suitable for maps with differing colors.
-
Auto-Assign Colors Based on Generated Scheme:
- This option assigns the colors to heights based on Azgaar's bright color scheme.
- Ideal for maps made with the generator.
-
Set Maximum Amount of Colors:
- Allows you to set the number of colors to quantize the image to (100 by default).
- The converter may produce fewer colors than the requested maximum, depending on the source image and palette.
-
Overlay opacity:
- A slider that fades the source image over the heightmap being built, so you can trace it.
-
Cancel the Conversion:
- Cancel the image conversion and revert back to the previous map.
-
Complete the Conversion:
- Fully loads the map into the Fantasy Map Generator.
- All unassigned colors will default to ocean.
Colors are listed in two groups — Assigned colors and Unassigned colors. To assign a color by hand, click the color you want to edit and then pick the height on the slider above. Click an already assigned color to re-assign it.
Main Page | Quick Start Tutorial | Q&A | Shortcuts | URL parameters | Changelog | Report a bug or suggest an idea | Policy
These pages are maintained in the main repository and synced automatically. Edits made here will be overwritten — please open a pull request instead.



