How do you make the Garmin .img maps?
Are there any software out there free or $$ that will do this?
Primarily want to start with Google Earth KMZ / KML files and end up with a Garmin .img file.
.kmz files are just "containers" that may hold different kinds of data. One thing they can contain is imagery in the form of .jpg or .png files. These may not be converted to Garmin's .img format. However, newer garmin handheld gps unit can directly utilize this kind of .kmz file, but there are some strict limitations. See this.
There is also some software that can assist in making more complex maps of this type
There was also a program called "g-raster" for making this kind of map and the author was a member here. When I looked now, it appears that the website no longer exists however. :(
.kmz files can also include vector data in the form of points, lines and polygons. These can be converted to Garmin's .img format in various ways. If you can get the data into a .gpx file, then this free program can make a simple map from it
For a full-featured (but not free) program, see
For a more complicated but comprehensive and free solution, use the tutorials on this site
OpenStreetMap has their own tools for creating Garmin maps which I think are Java-based. It's been a long time since I looked at those.
But keep in mind, the basic problem is that Garmin considers their .img file format proprietary and technically you are in violation of their license if you try to create this kind of map. However, since they realize that user-contributed maps help them sell their products, Garmin does not really enforce their rights.
Thanks for the reply, you have given me a lot of information to look into, I appreciate it.
Some of it I have already investigated, with no good solution. I'll check out the rest and report back with my findings.
So far I have struck out on all fronts. I believe my file sizes are part of the problem, but also there does not seem to be a solution that is not multi step with multi conversions.
Mapwel sounds like an option, but it seems they are no longer in business. Multiple e-mails have gone unanswered, and I see their last update was 2017.
It is not reasonable to expect the KML file will be converted to IMG in one step. It is different type of data. KML data is not "map" data. You need to get it in to an editor, fix up the data and then convert to IMG in a way that displays nicely in a map format.
I use GPSMapedit to import and modify the files and then cgpsmapper to create the IMG file. It is fairly straightforward and flexible.
What sort of data are you trying to turn into a map?
Thanks for the reply. I'll give your method a try.
I'd like to create a couple different .img files. I'd like to be able to generate a Michigan public land map, Federal land in Michigan, commercial forest land in Michigan and HAP land in Michigan. I would also like to be able to choose a hunting area, and be able to generate a .img file of the state forest compartment map that shows forest types.
Unfortunately, most of the data (KML / KMZ) is quite large. Size seems to matter with most of the programs I have tried.
Is the data also available as shapefiles? They should work with cgpsmapper and mapwel. Generally speaking, .kml files are for consumer use, shapefiles are for professionals. I have a friend that uses Google Earth heavily and I converted some files for him. Large vector files were a problem and caused Google to crash. In fact, one crash actually wiped out all his Google Earth data and he had to restore from a backup.
I use GlobalMapper from Blue Marble, which makes all of this pretty trivial, but it's expensive pro software. However, they have a free trial version that can be unlocked for a limited amount of time, so if you work quickly then it might be another solution.
Yes, I can get the data in a shape file as well. I'll look into cgpsmapper. Mapwel seems to be out of buisness so I can't try that one.
When I contacted Global mapper, they told me their software could not produce the Garmin .img files? Did I get some wrong information from them?
I'm willing to pay for software that will do what I want.
That is true, globalmapper cannot create .img files directly. But it can create .mp files, which is an intermediate format. cgpsmapper can convert the .mp files into .img files. As Red90 mentioned, gpsmapedit can also open .mp files however it depends on cgpsmapper to do the conversion to .img files.
gpsmapedit is shareware, but IIRC there's an older version that is now open source. Not sure, I purchased gpsmapedit many years ago. cgpsmapper has been discontinued, but you can still get the free version through the wayback machine at archive.org. I believe this is covered in the topo map tutorial on this site that I linked to above.
Note that the free version of cgpsmapper inserts watermarks in the completed map. There is a relatively simple hack to hide these however.
Purchasing GlobalMapper just to make a few Garmin maps is an expensive prospect, IIRC it costs around $500. I am still using the old version I bought in 2013 and it works fine under Windows 10. I use it heavily to make all sorts of maps for my site at https://boydsmaps.com
So I decided to "bite the bullet" and upgrade to the current version last winter. Very glad that they have a free trial, because I tried it and found that importing/exporting large .gmp files (the format I commonly use for my work) was much, much slower with the new version. So I decided to just continue using my old version and saved five hundred bucks. ;)
I have been using MKGMAP - which is still being supported and developed - with .mp files and it is much faster than CGPSMAPPER.
I suggest to switch to mkgmap too. Old CGPSmapper makes too much problems with new Garmin's models. For example:
- GPSMAP 66: when other map covers the same area (in my case Europe Recreational) it is impossible to force search on map compiled with cGPSmapper. Disabling other map doesn't help, one have to remove it from GPS.
- GPSMAP 66, Edge: Bicycle routing uses highways, even if there is explicit attribute to disable bicycle on these roads.
- MapSource: sometimes when calculating hiking route, it can't cross tile's boundary by a path or track and makes a large detour by other roads.
The same map compiled by mkgmap works correctly.
There are other advantages of mkgmap:
- Compilation is much faster and resulting img are smaller.
- Mkgmap process source data and deals with many common problems like distance between nodes too short, road crosses itsef, number of nodes too big.
- Mkgmap does optimization like merging lines or removing objects too small.
- One can control creation of overview map by extending selected objects in source mp to higher layers.
- Compilation creates all data for a mapset, including tdb, index, preview map and typ file in one go.
- Result of compilation can be a standard mapset, new gmap type mapset or gmasupp.img for device.
- Mkgmap can add DEM layer basing on SRTM files in hgt format.
- Index file can be much bigger than for cGPSmapper.
- Mkgmap can create Unicode maps (but Garmin disabled free Unicode maps in many new devices).
- Mkgmap can convert code pages, for example you can use source in Unicode to create a map in CP1252.
There are very few disadvantages. The one I can recall is missing support for road signs ([SIGN] object in mp source).
You can run direct compilation with a command like this:
java -jar mkgmap.jar *.mp
but better to add some options for optimizing compilation. These can be put in a text file and used like this:
java -jar mkgmap.jar -c options.txt *.mp
All options are explained in mkgmap documentation.
I have written a free web-based tool that converts gpx, kml/kmx files to a garmin .img file. You can see it here: https://www.tricktracks.org/