Hex grids are a staple of overland travel, wilderness exploration, and wargaming. But most published hex maps ship without coordinate labels, which means the DM ends up counting hexes by hand during the session or printing a separate reference sheet. This tool stamps coordinates directly onto the map image so every hex has a clear, readable label ready for the table.
Axial versus offset coordinates
The two most common hex coordinate systems are axial and offset. Axial coordinates assign each hex a pair (q, r) along two axes that follow the hex edges. This makes distance calculations and pathfinding elegant, which is why most game engines and VTT plugins use axial internally. Offset coordinates use column and row numbers, like a spreadsheet. They are easier to read aloud at the table ("move to column 4, row 7") and easier to index in a lookup table. Neither system is wrong. Pick the one that matches how your table talks about the map.
Flat-top versus pointy-top hexes
Hex orientation affects how coordinates map to the grid. Flat-top hexes have a flat edge along the top, which is the default in most wargames and many published hex maps. Pointy-top hexes are rotated 30 degrees and are common in Civilization-style games and some VTT systems. Check your source map before labelling. If the hexes have a flat edge at the top, use flat-top orientation. If they have a pointed vertex at the top, use pointy-top.
Aligning the grid to your map
Not every hex map uses the same hex size or the same origin point. The hex size slider controls the radius of each generated hex, and the X/Y offset inputs shift the entire grid horizontally and vertically. Start by adjusting the hex size until the generated hexes roughly match the ones on your map, then fine-tune position with the offset controls. A well-aligned grid should place each coordinate label in the centre of its hex.
Choosing label colour and size
Label readability depends on contrast. Dark maps need white or light-coloured labels. Light maps need black or dark labels. The terracotta swatch works well on both neutral and green terrain because it sits between warm and cool tones. Label size should be large enough to read but small enough not to obscure map features. For most maps, 10 to 14 pixels is the sweet spot.
Using labelled hex maps in VTTs
The exported PNG works in any VTT that accepts image maps: Roll20, Foundry VTT, Owlbear Rodeo, Shmeppy, or a simple screen share. Import the labelled map as a scene background and set the VTT's grid to hex mode with the same hex size. Coordinates baked into the image ensure that players and the DM always agree on which hex they are referencing, even if the VTT's own coordinate display is hidden or differently numbered.
Privacy and browser limits
All processing happens locally in your browser. The image is drawn onto an HTML5 canvas, coordinates are rendered as text, and the composite is exported as a PNG download. No data is uploaded to any server. The main limitation is browser canvas size, typically around 8000 by 8000 pixels. Standard hex maps are well within this bound.