Hexer, my hex crawler map tool

Over Thanksgiving I ran a hex crawl D&D game. I needed a map, so I decided to write pen-and-paper tables for generating wilderness hexes. It should be suitable for a pick-up game, so you can explore hexes one by one without having to prep a whole map beforehand – but you have to end up with a map that tells a story: big forests, jagged mountain ranges, rolling plains, and seas instead of a hexy mishmash.

I decided that it would be quicker to write a javascript map to instantly iterate over different ideas rather than roll lots of dice and scribble on lots of pieces of hex paper.

Of course, the project got away from me, and I ended up with a full hex crawling tool with hand-drawn graphics, settlements and roads, monsters and dungeons, autosave and save features, a map editing mode, and a note-taking feature so you can detail your world.

I’ve had fun generating lots of little wildernesses (or not so little! With 6-mile hexes, it’s about the area of Wales), and I’ve run two game sessions so far. We’ve leveled up from 3 to 5, battled lots of A5E monsters, and found a little village as a base of operations for future expeditions. Eventually I’ll convert this back from a web app into a set of D&D rules.

13 Responses to “Hexer, my hex crawler map tool”

  1. Kevin says:

    Thank you, thank you, thank you.
    This is so cool. I came to just check it out; I played with it for almost an hour. Very intuitive. Just click, click, click. Oh, that doesn’t work, how do I change it. What’s that red outline mean? Chooses the terrain type. Change, change, change.
    It’s a beautifully simple interface, but so incredibly useful. I’m sure I’ll find the other things functions incredibly useful too, notes on hexes, save and recall maps, import/export functions.

  2. Monstah says:

    This is great! I got very interesting results by seeding the map with unconnected dots of chosen terrain, then exploring around them. Or, beginning with a fork on a road, and exploring every lose end and around cities.

  3. Jan says:

    Awesome! Absolutely awesome! I was JUST looking for a hex mapping tool that works on my Android tablet. And your tool does :) It’s not a fancy-pancy shit, but it does it’s job quite well and works, so I’m totally happy now :) I only noticed that it does not always get the right hex when I click on my mac (MacBook with trackpad and Chrome in most current version). Seems to happen mostly when I click the lower half.

  4. Alex Slotkin says:

    Wow, I really love this! It’s wonderful as-is, but I wonder if you’d consider adding desert terrain, and perhaps rivers/lakes? Other than that (and a way to export the finished map as a JPG or PNG), this is pretty much the lightweight hexcrawl tool I’ve been searching for. Thank you for putting this out into the world!

  5. Artriaxa says:

    Can’t put roads through the desert? An awful lot of spice merchants will be very disappointed. Also just a little explanation would help to get started – just what IS that thing the random generator put there? Also the ‘Y’ road hexes are not exhaustive – there’s a few missing.

    But hey! Improvisation! These are trivial little kvetches, and I think the app’s awesome. Thanks!

  6. paul paul says:

    Deserts and tundra are on my list! I was considering that an area with both desert and tundra might be a bit weird, and was imagining a “climate” setting on the map that would unlock one or the other, along with maybe rainforest.

    Rivers are also on my list! They’d work a bit like roads, but there’s a bit of extra work involved in making sure they don’t, for instance, run up and down hills.

    Artriaxa, what do you mean by missing Y road hexes?

  7. Kevin says:

    Desert and tundra could be on the same map by magical means. Or broken planes/dimensions intruding onto the material plane.
    I’m no coder, so I don’t know how it works, but I see that you’re thinking along those lines. Very cool. Hopefully they can be turn off and on so there could be some crazy terrain next to each other.
    I don’t want to sound ungrateful but it sounds like you’re open to suggestions. Lakes and streams would be nice, like the roads and villages. I guess we could add them after.

  8. Jason says:

    This is incredible and I’d love to see it expanded and added to. I look forward to using this a lot. What’s the best way to give you money? Buying stuff from you store?

  9. David says:

    Awesome tool! I’d there any way to increase the size of the map?

  10. Artriaxa says:

    What I mean by “missing Y road hexes” is that sometimes roads will come into a hex on two adjacent sides. The Y-junctions don’t account for that (nor do the ‘through’ roads. Hairpin turns are right out! 😉 .

    This, of course, opens up a huge kettle of fish – ANY three sides of a hex could have a road coming in – imagine a city on a (sort-of) peninsula, with roads fanning out to all three sides not on water. One might also have land-locked cities with four, five, or even six roads leading in and out…

    Better might be instead of a set of overlay “road” hexes, make them into six ‘little’ overlays*, wherein each of the six is a road from one edge to the center, and they can stack up. Add and subtract roads as you go along. You won’t get the elegant curves, though, but it will allow ‘dead-ends’ in the center of a hex, not the edge.

    Rivers and streams wildly branching could use the same idea.

    Up to you, really. As DM using such a map, I’d just tell the players “That road goes to that junction” (or not) if I had to.

    * Maybe triangular?

  11. Artriaxa says:

    PS – It would be nice to ‘stack’ most overlays, actually. At the moment, there’s no way to put a monster on a road (“STOP!! Pay Troll!” :) and a road over water could be a bridge or a ferry…

  12. Frank says:

    Absolutely love this and wish there was a way to download it for offline use.

  13. Tyler says:

    This tool is super fun to play around with and inspire creativity. The only thing I keep getting frustrated with is that writing in the ‘Notes’ field changes the icon in the hex! I want the original icon to stay put!

Leave a Reply