Turning any map into a hex map with GIMP

There are a number of programms out there that allow you to make a hex map out of hex tiles. I used one of them to make this map of the Savage Frontier five years back. However, I am not a fan of these maps, at least not as something to put into the hands of the players. I feel it creates too much abstraction in the minds of players that works against them mentally visualizing the setting of the game as an actual world. As a setting creator, I see even myself getting affected by that and it significantly hampers my work on the world.

But hexes are very useful as tools to keep track of the party’s position as it is moving through the wilderness. In most situations you want to have separate maps for the players and the GM anyway, so you can keep track of where hidden and unknown sites are located without giving it away to the players. You can also overlay a hex grid on top of the GM version of the map along with the hidden sites and other notes. The terrain type of each hex won’t always be completely clear, but that’s not really an actual issue. Make a best guess which terrain on the background image dominates, and when you don’t stay consistent between different occasions the players are passing through it nobody will notice.

Finding an image of a hex grid on a transparent background to simply slap on top of a map you have in Photoshop or GIMP has been a huge pain in the butt for most of this afternoon. But at least for GIMP I found a great solution to add a grid on top of any image.

  1. Open your image file of your map.
  2. Add a new layer: Layer > New Layer > Press “Okay”. Make sure the new layer is above the layer with the map.
  3. Open the Mosaic dialog: Filters > Distortions > Mosaic.
  4. Make sure Tile Geometry is set to “Hexagons”.
  5. Set Tile Size to your preferred size of tiles.
  6. Set Tile Height to 1 (to remove reflection effect).
  7. Set Tile Neatness to 1 (to make orderly hexes).
  8. Set Tile Color Variation to 0 (to make all tiles blank).
  9. Set Tile Spacing to 1 (or higher, if you want wider grid lines).
  10. Joints Color: This will be the color of your grid lines.
  11. Light Color: To remove shiny reflections on each hex, click on the color to open the “Light Color” dialog. Set the value for “A” to “0” or move the slider all the way to the left. Click “OK” to close the dialog. (You can’t disable the reflection, but this makes it completely transparent and therefore invisible.)
  12. Click “OK” in the Mosaic dialog to apply the grid to the player.

And that is the entire process. The tricky part is to find the right value for “Tile Height” to get the tile size that matches the scale of your map. But if the map has scale markings on it, move the view of the image to that corner of the map and try out different sizes in the Mosaic dialog until the hexes line up with it. (The “Preview” box has to be checked to see how the grid would look like with the current settings.)

The only issue I noticed is that with hexes of sizes below 20-30, the hexes tend to get a bit squashed as a result of the image consisting of pixels, but I think you’d get this with any other method to get a hex map as well, unless it uses vector images (which I doubt any map software does).

14 thoughts on “Turning any map into a hex map with GIMP”

  1. I think there’s a fairly important step missing. When you add the new layer, make sure it’s filled with the alpha channel and not your background color.

  2. This is a fantastic guide and saved me the effort of finding a transparent hex background and resizing it! Thank you!

  3. I just downloaded GIMP to try this, but when following the instructions the hexs were all random spaces not uniform at all, any advice?

  4. I’m gonna give you +1 Internets for this great explanation. In no time, I’ve got a hex grid!

    One of the problems I wish there was a solution to is that Gimp gives you hexes with faces to the top of page (vs a point to the top of page).

    One way to fix that I think might work is:
    1. Make sure your base image is square (height = weight)
    2. Create your hex grid on the Hex layer
    3. Select by colour the hex grid on that Hex layer
    4. Rotate 90 degrees

    Of course, if you have maps drawn on the old D&D mapping paper from a long time ago, you’ll discover the hexagons aren’t as hexagonal as you’d want. Your nice gimp grid won’t line up because the ‘hexagons’ (and I use that loosely) on the original hex paper.. aren’t. They look not bad, but if you try to slap the Gimp grid over it (which I think is more mathematically correct), it won’t line up.

    That’s not the end of the world though.

    Great work and very much appreciated. I grant you 1 level in the class of your choice and a small frog statue that radiates magic!

  5. Two questions: Is there a way to number the hexes (preferably automatically)?

    Second, does the map have to be flat, or can this be done to a globe-shaped map–e.g., a section of GoogleEarth between a min and max lat and a min and max long?

    Thanks in advance for any help.

    1. Even though I’ve tried working with all kinds of hexmap and map drawing programs, I keep comming back to this approach. It’s just a really convenient way to make maps.

  6. Thank you SO MUCH. You saved me so very much heartache. I’m bookmarking this page.

  7. Pingback: Homepage

Leave a Reply

Your email address will not be published. Required fields are marked *