Hex Map Maker

Make a hex map for a tabletop role-playing game, a war game or your own world, and print it at the hex size you want. Paint any of 14 terrain types (plains, forest, hills, mountains, sea, swamp, towns, ruins and more) by clicking or dragging over the hexes; every terrain has its own fill and a simple line symbol drawn by us. Hexes are numbered column then row (0101 is the top left), the distance tool counts the hexes between any two, and the random button rolls a whole map from a seed: the same seed always gives the same map. Undo any step, save the map as a JSON file and open it again later. Print one page at the largest hex size that fits, or a fixed size such as 1 in across the flats over as many pages as needed. Nothing is uploaded.

100% private — everything runs in your browser. Everything runs in your browser; nothing is uploaded.

100% private — runs in your browser

One page at the largest hex size that fits, or a fixed hex size over as many pages as needed (join the pages by the hex numbers). Print at 100% (Actual size).

Map

Print

Runs in your browser with our own code: nothing is uploaded or saved. Your map stays in this tab until you save it as a JSON file. The terrain symbols are our own drawings. You may use what you make here, including commercially, with no credit needed.

How to make a hex map

  1. Set the number of columns and rows, and flat top or pointy top.
  2. Paint terrain: pick a terrain and click or drag over the map, or roll random terrain from a seed.
  3. Use Measure distance to count the hexes between two places.
  4. Save the map as a JSON file to keep working on it later.
  5. Download the PDF, PNG or SVG and print at 100% (Actual size).

What you can use it for

  • Hex-crawl campaign maps
  • War game and board game maps
  • Worldbuilding for novels
  • Travel-time planning by hex
  • Classroom map and geography games
  • Player handouts at a fixed hex size

The 14 terrain types

TerrainFill colour
Plains#f4efc6
Grassland#dcefb8
Forest#b5dba6
Hills#e6d8b0
Mountains#d3c6b6
Sea#a9d0ef
Lake#cfe7f7
Swamp#c6d9b8
Desert#f6e2a8
Snow and ice#eef3f8
Town#f2e4dc
Keep#e9dfd2
Ruins#e6e1d6
Cave#ddd6cc

Each terrain has a fill and a line symbol, both drawn by the same code on screen, in the PDF, PNG and SVG. Clear leaves a hex white.

Hex size when the map fits one page

Map (columns × rows)US Letter landscape: across the flatsA4 landscape: across the flats
8 × 60.936 in (23.77 mm)0.9 in (22.86 mm)
12 × 100.579 in (14.71 mm)0.557 in (14.15 mm)
16 × 120.487 in (12.36 mm)0.468 in (11.89 mm)
20 × 150.392 in (9.97 mm)0.377 in (9.59 mm)
24 × 180.329 in (8.35 mm)0.316 in (8.03 mm)
30 × 240.248 in (6.31 mm)0.239 in (6.07 mm)

Flat-top hexes; the page keeps room for the map name, the terrain key and the footer.

Pages at 1 in across the flats

MapUS Letter landscapeA4 landscape
12 × 1010 × 5 per page, 4 pages12 × 5 per page, 2 pages
16 × 1210 × 5 per page, 6 pages12 × 5 per page, 6 pages
20 × 1510 × 5 per page, 6 pages12 × 5 per page, 6 pages
30 × 2010 × 5 per page, 12 pages12 × 5 per page, 12 pages
40 × 3010 × 5 per page, 24 pages12 × 5 per page, 24 pages

Pages break on whole hexes; on flat-top maps they break on even columns so the stagger lines up when the pages are put side by side.

Distance examples on a 12 × 10 flat-top map

FromToHexes
010102011
010101043
010104013
010105056
030308066
0110120114

For blank hex paper at an exact size, use Hex Grid; for a whole generated world with rivers and coasts, the Fantasy Map Generator.

Which tool to use

You wantUse
A map painted hex by hex, numbered, at a chosen hex sizeHex Map Maker (this page)
A generated world map with coasts, rivers and namesFantasy Map Generator
A dungeon on a square gridDungeon Map Generator
Blank hex grid paperHex Grid

Also handy: the Dungeon Map Generator and the Poster Tiler for big prints.

More free tools

Grid paper, maps and game printables?

Print tools that run privately in your browser, with no sign-up and no watermark.

See all free tools →

Frequently asked questions

How are the hexes numbered?

Column first, then row, two digits each, starting at 01: 0101 is the first column, first row (top left); 0312 is column 3, row 12. Maps with more than 99 columns or rows would need three digits; this tool goes up to 60.

How is distance counted?

As the number of steps from hex to hex through shared edges, the shortest way. The tool converts the column-row numbers to axial coordinates (q,r) and uses (|Δq| + |Δr| + |Δq + Δr|) / 2. Our tests check it against a step-by-step search of every pair of hexes on test maps.

What does the scale do?

Type what one hex stands for (for example 6 miles) and the distance tool also gives the distance in miles, km, ft or m. It is only a label: choose any scale that suits your game.

How does random terrain work?

From the seed number, the tool makes random heights and moisture, smooths them across neighbouring hexes, and turns them into sea, plains, grassland, forest, swamp, desert, hills and mountains, then places towns, a keep, ruins and a cave. The same seed and map size always give the same map.

Can I save my map?

Yes. Save map (JSON) downloads a small file with the map size, orientation, name and the terrain of every hex. Open a saved map reads it back. The file stays on your computer; nothing is stored in the browser or sent anywhere.

Can I print 1 inch hexes?

Yes. Choose Fixed size, 1 in across the flats. A map that does not fit one page is split into pages of whole hexes, with the hex numbers on every hex so the pages line up. A 16 × 12 map on US Letter landscape needs 6 pages.

Whose symbols are these?

Our own: simple line drawings of trees, hills, peaks, waves, houses and so on, made for this tool. You can use them in anything you make.

Is it free?

Yes. There is no sign-up, no watermark and no limit.

Is anything uploaded?

No. Everything is drawn by JavaScript in your browser and nothing is sent anywhere.