logo separator

Making maps from OpenStreetMap for Garmin devices

The mkgmap program takes OpenStreetMap data and generates a map in the Garmin .img file format so that it can be loaded onto compatible GPS units.

If you are not already familliar with Open Street Map (OSM) then you why not head over to the OSM website and maybe get involved. The idea is create an editable map of the whole world. OSM map data is the only format that is well supported by mkgmap.


  • Generates a map directly from a file saved from JOSM or from an extract of the main OSM planet file.
  • Converts several .osm files in one run of the program to create a map tile set.
  • Creates a .tdb file and an overview map that can be used to view the maps in MapSource or QLandkarte.
  • Creates a gmapsupp.img file that can be copied directly to an SD card.
  • Can also combine previously produced .img files into one gmapsupp.img file.
  • Create a .tdb and overview map from previously produced .img files.
  • The mapping between OSM features features in the Garmin map can be customised.
  • Transliteration of characters to ascii where that is possible to enable viewing on low end devices or for international maps.
  • Character set can be specified for display on capable GPS devices.
  • Control over the zoom levels that any feature appears at.

The program does not send the created maps to the GPS unit. This can be done with another program such as sendmap or qlandkarte gt. If your GPS device has a removable SD card, then you can just create a gmapsupp.img file and copy it to the cards in the Garmin directory.

Download mkgmap

There is just an all in one source and binary distribution. You may freely download the software and use it under the terms of the GPLv2 licence.

Go to the mkgmap download page.

Subversion access for mkgmap

Subversion access is at:


Or you can browse the mkgmap subversion repo here.

Mailing list

You can keep track of progress and contribute by joining a mailing list.

List name Subscription Archives Description
mkgmap-dev Subscribe Archive This is the main development list. As it is currently the only list, feel free to ask any mkgmap related question.

More details on mkgmap

For more information please go the the OpenStreetMap wiki page.

Latest commits

  • mkgmap-r3664 add check to make sure that roads have more than one point , else later processing may fail with assertion.
    04 feb 2016
  • mkgmap-r3663 remove debug code which produces lots of error messages.
    04 feb 2016
  • mkgmap-r3662 exit-hints-v1.patch : improve exit/destinatio hints.
    01 feb 2016
  • mkgmap-r3660 improve logging of housenumber mathods, no change in img file expected.
    24 jan 2016
  • mkgmap-r3659 catch more different spellings of fixme like "Fix me", "fix_me", "Fix Me" etc..
    14 jan 2016
See more...

Developed withThe best Java IDE