There could be a better way, but this took me about 2 minutes including searching on google:
I didn't do a very good job, but basically I went here:
http://gombe.org/hexmap16x16.gif, and got a hex grid from the net.
I used paint .net, which is free. Opened up a map, and pasted this hex map in as a new layer. I then set this layer's properties to multiply (which basically makes the white transparent)
as an example I then resized the grid and made another copy with a finer hex.
I resized the grid by hand and pasted it over the map, then copied and repasted this grid to fill the map and manually lined up the grid. There would be a better way but the grid sections snapped together in paint.net no problem so I didn't look any further.
There must be a programme out there somewhere that does this, but this was pretty easy.