Hex Map Generator for Tabletop Maps, SVG and PNG Export
This hex map generator turns a seed and five settings into a hex map you can keep: choose 6 to 24 columns, 4 to 16 rows, pointy or flat hexes, water level and terrain mix, then export SVG or PNG at 2×. The same seed and settings rebuild the same map byte for byte, with no account and no upload. It is a generic hexagon map tool, not a Catan board generator.
Make a hex map now
Everything runs in this page. Generate, change a setting, or copy the share link — the address bar always carries the exact seed and settings.
–
Generating the first map…
Ready.
- Water
- Plains
- Forest
- Hills
- Mountain
- Desert
How this hex map generator works
The generator is deliberately small, so you can predict what it does. One hex is one tile. The seed string is hashed with FNV-1a into a 32-bit number, that number feeds a mulberry32 pseudo-random generator, and the generator walks the grid row by row deciding water first and then which land terrain a dry tile gets. Because the seed and the settings are the only inputs, two people who share a seed link see the same map.
The controls map to one step of that pipeline:
- Seed — the run identifier. Type anything (letters, numbers, a phrase) or press the dice button for a new one. The shareable link carries the seed plus every setting.
- Columns and rows — the grid size, from 6×4 up to 24×16. The default 14×10 is 140 hexes, about one page at print size.
- Hex orientation — pointy-top or flat-top. This changes both drawing and the six neighbours used by the connectivity pass, so the same seed gives a different map in each orientation.
- Water level — the target share of water tiles, 0–70%. It is applied per tile as a probability, so the finished board usually lands within a few percentage points of the target rather than exactly on it.
- Terrain mix — four presets that reweight plains, forest, hills, mountain and desert: balanced, forested, arid and mountainous. The water level is applied first, so the presets only change the dry land.
- Connectivity pass — when on, the generator keeps the largest connected landmass and turns every other land tile into water. That guarantees one reachable land body and no stray one-tile islands.
Output is an SVG you can open in a vector editor, a PNG rendered at 2× for posts and documents, and a one-line summary of land, water, land components and terrain counts. Nothing is sent to a server; the page is a single HTML document with inline JavaScript, so it also works offline once loaded.
How this hex map generator differs from a Catan board generator
We also run a Catan board generator that arranges the 19 fixed Catan tiles, numbers and harbours into a fair starting board, and a random Catan boards page that generates variants with the 5–6 player extension. Those pages exist to solve one game's setup problem, so they inherit its rules: fixed resource counts, the 6 and 8 separation rule, harbour positions.
This page is the opposite kind of tool. It draws any rectangular hex grid with any terrain mix, which is what you want for a hex crawl, a world map, a wargame scenario or a print-and-play prototype. Nothing here is balanced for a board game, and there are no numbers or harbours. If you arrived looking for a Catan setup, the Catan board generator is the right page; if you arrived with a seed and a hexgrid, stay here.
100,000 boards, measured
Instead of describing the output, we measured it. The page's generator core (src/gen.core.cjs — the same file inlined into this page) was run 100,000 times per configuration on 2026-11-06 in Node 23, with seeds board-0 to board-99999. The table below is the raw result of that run, saved as evidence/stats.json in the build.
| Configuration | Default: 14 × 10, 35% water | Tabletop: 10 × 8, 30% water | Arid mix: 14 × 10, 35% water |
|---|---|---|---|
| Land hexes, mean / median | 84.9 / 88 | 53.9 / 55 | 84.9 / 88 |
| Water share, mean | 39.4% | 32.7% | 39.4% |
| Water share, p10 – p90 | 30.7% – 50.7% | 23.8% – 42.5% | 30.7% – 51.4% |
| Boards needing the connectivity pass | 77.5% | 50.3% | 77.5% |
| Land components before the pass, mean | 2.6 | 1.7 | 2.6 |
| Dry-land terrain mix | plains 20% · forest 20% · hills 20% · mountain 20% · desert 20% | plains 20.1% · forest 20% · hills 20% · mountain 20% · desert 20% | plains 11.8% · forest 4.2% · hills 18.5% · mountain 15.1% · desert 50.4% |
| Generator time, ms per board | 0.03 | 0.02 | 0.03 |
What the numbers mean in practice. At the default 14×10 and 35% water, the finished map carries a median of 88 land hexes, and 80% of boards land between 30.7% and 50.7% water — the per-tile roll averages out but individual boards still vary, which is what keeps rerolls interesting. In 77.5% of default boards the raw roll produced more than one land component (2.6 components on average before the repair), and the connectivity pass folded the smaller ones into water. That is also why the finished water share averages slightly above the 35% target: the pass adds water to remove stray islands. With the checkbox on, the finished component count is always 1, which is a real change to the map, not a hidden stat.
Terrain composition of the dry land, averaged over the default run: plains 20% · forest 20% · hills 20% · mountain 20% · desert 20%. The arid preset shifts that, as the third column shows; the water probability is unchanged, only the land palette moves. Timing on the build machine was 0.03 ms per board including summary and connectivity, so generating a fresh map in the browser is instant; the browser's own draw step, not the generator, is the slow part.
One limitation of the measurement: it describes this generator's own distribution, not a geography. Hex maps of real terrain have coastlines and river systems; this tool has a sea-level coin flip and a connectivity repair. Use it for game maps and placeholders, not for anything that needs to survive a cartography review.
Hex map generator vs 5 other map tools
Five tools come up whenever someone asks for a hex map generator, and they solve different problems. The table records what each project's own pages document, fetched on 2026-11-06; where a feature is not documented we say so instead of guessing.
| Tool (fetched 2026-11-06) | Form | Free? | Sign-up? | Export | Seed / repeatable | Size control |
|---|---|---|---|---|---|---|
| This hex map generator | Browser, no install | Free | No | SVG + PNG (2×) | Yes — seed field and shareable link | 6–24 columns × 4–16 rows, pointy or flat |
| Azgaar's Fantasy Map Generator | Browser app | Free web application (project README) | No — opens straight into the editor | Export menu in the app; the README does not list formats | Not stated in the public README; .map save/load exists | New Map options; hex or square cells |
| Watabou’s Perilous Shores | Browser app | Free | No | PNG + JSON (exporter in the app bundle) | Not documented as a seed field | Preset map sizes, no column/row control |
| Worldographer | Desktop (Windows / macOS) | Free tier + paid Pro licence | Download, no account; Pro needs a licence key | PNG image + PDF (manual: Export as Image / Export to PDF) | Editor-based; no seed field documented | World, kingdom, city and dungeon levels |
| Donjon Fantasy World Generator | Browser form | Free | No | Map image in the page; saving is left to the browser | Yes — Random Seed field | Parameters (% water, % ice, hex grid option), preset canvas |
| Red Blob Games — Hexagonal Grids | Reference article | Free | No | None — it is a guide, not a generator | n/a — code reference | n/a — you implement the grid |
Sources, fetched 2026-11-06: https://azgaar.github.io/Fantasy-Map-Generator/ · https://watabou.github.io/perilous-shores/ · https://www.worldographer.com/ · https://donjon.bin.sh/fantasy/world/ · https://www.redblobgames.com/grids/hexagons/
Read the table as a shortlist, not a ranking. Azgaar's Fantasy Map Generator is the deepest world builder of the six and the one to open if you want cultures, states and rivers as well as a grid. Perilous Shores is the fastest route from zero to a good-looking regional map. Worldographer is the choice when the hex map is the product and you want an editor with printing and PDF export. Donjon is the quick random world with a seed field. Red Blob Games is not a generator at all: it is the reference that explains hex coordinates, and it is where we point people who want to write their own. This page sits between them: narrower than an editor, more controllable than a one-click generator, with both SVG and PNG export and a seed you can hand to someone else.
What it does not do
Being explicit about the limits saves a wasted click. There are no rivers, roads, labels or cities; no polygon or irregular map shapes; no elevation curve, only a water probability; no saving inside the browser between visits beyond the URL; and no undo. The grid is a rectangle of offset rows, not a hexagonal world outline, so a whole-map silhouette will be rectangular. Very large grids are capped at 24×16 (384 hexes) on purpose: past that the inline SVG starts to tax older phones, and PNG export time grows with it. If you need a persistent world with editing, annotations and a file you can reopen, use an editor such as Worldographer or Azgaar instead.
Sources and method
- Generator statistics: this page's
gen.core.cjs, 100,000 boards per configuration, run 2026-11-06; raw fileevidence/stats.json. - Azgaar's Fantasy Map Generator — azgaar.github.io/Fantasy-Map-Generator and its README, fetched 2026-11-06.
- Watabou's Perilous Shores — watabou.github.io/perilous-shores, fetched 2026-11-06; the page's script bundle contains
com.watabou.system.Exporterand PNG/JSON encoders. - Worldographer — worldographer.com, plus its Free/Pro licensing and printing manual pages, fetched 2026-11-06.
- Donjon Fantasy World Generator — donjon.bin.sh/fantasy/world, fetched 2026-11-06; the form exposes a Random Seed field and a hex-grid option.
- Red Blob Games, Hexagonal Grids — redblobgames.com/grids/hexagons, fetched 2026-11-06.
Frequently asked questions
Is this hex map generator free to use?
Yes. The page runs entirely in your browser, needs no account, and exports SVG and PNG without a watermark or a paid tier. There is no server-side rendering, so nothing you type or generate is uploaded.
How does the seed make a map repeatable?
The seed string is hashed and fed to a deterministic pseudo-random generator; with the same seed, columns, rows, orientation, water level, terrain mix and connectivity setting, the tile array is identical. The address bar keeps those settings in the query string, so copying the page link shares the exact map.
What size hex map can I make?
The controls allow 6 to 24 columns and 4 to 16 rows, so the smallest map is 24 hexes and the largest is 384. The default is 14 columns by 10 rows, which is 140 hexes and fits a single page at print size.
Which export formats are available?
Two: SVG, which stays sharp at any size and opens in vector editors such as Inkscape or Illustrator, and PNG rendered at 2× for documents, slides and social posts. Both exports carry the same map, seed and terrain colours.
Does it generate Catan boards?
No. This page makes generic rectangular hex maps for hex crawls, world building and prototypes; it does not place Catan resources, numbers or harbours. The separate Catan board generator on the home page handles balanced Catan setups.
Can I change the terrain ratios?
Yes, in two ways: the water level slider sets the share of water tiles, and the terrain mix presets reweight plains, forest, hills, mountain and desert. The connectivity pass can be switched off if you want scattered islands, but a 70% water level with the pass off often leaves several small islands.