About

ikml.com is the home of iKML, a small tool that helps you understand a geographic file before you import it. It reads KML, KMZ and GeoJSON, shows what’s inside, flags what’s broken, tells you what a conversion to another format will lose, and writes a cleaned copy with a list of every change.

Why It Exists

Map files get passed around more than almost any other kind of data. A drone pilot sends a mission KMZ, a surveyor sends site boundaries, a council publishes a layer, a colleague exports a Google My Maps project. The person receiving it opens it in QGIS, ArcGIS, a web map or a spreadsheet, and that’s where things go wrong without a word: points in the ocean, polygons that don’t draw, icons missing, attribute data and folders gone after a conversion.

The tools that convert these files are good at converting. They don’t explain what they dropped, and they don’t tell you that the file pointed at pictures on someone else’s laptop. iKML does that part.

How It’s Built

  • One engine, two homes. Written in Go with the standard library only. It runs as the ikml program on Linux, macOS and Windows, and the same code compiled to WebAssembly runs the inspector on this site.
  • Nothing uploaded. In the browser, the file is read from your disk into the page’s memory. There’s no server behind it, and the preview uses no map tiles.
  • Honest about conversions. Every conversion comes with a report of what’s lost, what’s kept in another form and what’s changed.
  • Safe fixes only. ikml clean closes rings, removes repeated points, fixes coordinate spacing and broken style references. Swapping latitude and longitude only happens when you ask. The original file is never changed.
  • Tested on real-world shapes. The test files are written by hand in the layouts that Google Earth, My Maps, DJI, ArcGIS and QGIS produce. How iKML was tested has the details.

License

All the code is open source under the Apache License 2.0, on GitHub. You can use it, change it and build it into your own products.

Questions People Ask

Is it free?

Yes. iKML is free to use, and the code is free to take under the Apache License 2.0.

Is my file really not uploaded?

Really. The inspector page loads a script and the WebAssembly engine, and from then on works without the network. You can check in your browser’s developer tools, or disconnect after the page loads.

Which formats does it read?

KML (2.2, plus the older 2.0 and 2.1 namespaces), KMZ, and GeoJSON (RFC 7946, plus older files with a crs member). It writes GeoJSON, KML and KMZ.

Does it read Google Earth’s gx extensions?

Yes: gx:Track with per-point times, gx:MultiTrack and gx:altitudeMode. Other vendor extensions, such as DJI’s wpml elements in drone missions, are listed and kept in KML output.

No. A NetworkLink loads its content from another address, and iKML lists those addresses so you know the file depends on them. Fetching them would break the promise that nothing leaves your machine.

What doesn’t it do yet?

No GPX, Shapefile or GML, no reprojection, no editing beyond the safe fixes.

Is it connected with Google?

No. KML is an open standard of the Open Geospatial Consortium, and iKML is an independent tool that reads it. Google Earth is a trademark of Google.

What does the name mean?

The “i” is for inspect, and KML is the map format people have the most trouble with: the Keyhole Markup Language, named after the company whose Earth viewer became Google Earth. Put together, it says what the tool does: inspect a KML before you import it. The program is ikml, and this site is ikml.com, where the inspector runs right in the page.

Say it letter by letter, “I-K-M-L”. Why the map file inspector is called iKML has the longer story.