Reference Formats
KML
KML is an XML-based markup language for describing and displaying geographic features such as placemarks, paths, and overlays in earth-browser applications like Google Earth.
Extension
.kml
Full name
Keyhole Markup Language
Introduced
Developed by Keyhole, Inc. in the early 2000s for its Earth Viewer application; adopted as OGC KML 2.2 encoding standard on 14 April 2008
Vendor
Keyhole, Inc. (acquired by Google in 2004); standardized by the Open Geospatial Consortium
What is inside the container
A KML file is plain XML text describing placemarks, lines, polygons, styles, and camera views using tags derived in part from Geography Markup Language geometry elements. It can reference external images and icons by URL for ground overlays and icons, which means a bare .kml file with local image references can break if those linked files are moved or not bundled alongside it — the problem KMZ was created to solve by zipping everything together.
How to open it
For archives
Archive KML files with any externally referenced images and icons captured alongside them, or convert to KMZ so the assets travel as one package; because KML is plain XML it is also straightforward to version-control and diff, which is useful for tracking edits to map annotations over time in a DAM.
KML was developed by Keyhole, Inc. for its Earth Viewer application in the early 2000s; Google acquired Keyhole in 2004 and the product became Google Earth, with KML as its native markup format. In 2006 Google submitted KML to the Open Geospatial Consortium, and the OGC approved KML 2.2 as an official OpenGIS encoding standard on 14 April 2008 — notably the first case of an already-widely-used de facto format being brought into the OGC process rather than designed within it.
Structurally, KML is XML text: placemarks, paths, polygons, styling, and virtual-camera viewpoints are all expressed as tags, with geometry elements adapted from Geography Markup Language. That makes a KML file human-readable and easy to hand-edit, but it also means a KML file that references external images for ground overlays or custom icons depends on those files being present at the referenced paths — a dependency problem similar in spirit to shapefile’s companion-file issue, just handled through URLs instead of a fixed filename convention.
- Placemarks — points marking a specific location
- Paths and polygons — lines and shaded regions built from geometry elements adapted from Geography Markup Language
- Ground overlays — images draped onto the map at a defined location
- Styles — color, icon, and line formatting applied to placemarks and geometry
- Camera/view elements — saved viewpoints used for guided tours in an earth browser
In a DAM, plain KML is generally the easier of the two Keyhole formats to catalog when it stands alone (no bundled images), because it is a single text file whose contents can be indexed, searched, and even diffed like any other structured document. Where a KML file does reference external assets, a DAM needs to track and preserve those links or the map annotation breaks on reuse — which is a strong argument for standardizing on KMZ for anything beyond simple placemarks.
Frequently asked
Is KML the same as KMZ?
No. KML is the plain XML markup file itself, while KMZ is that same KML file zipped together with any images, icons, or 3D models it references, packaged as one file.
Who created KML and who standardized it?
KML was originally developed by Keyhole, Inc. for its Earth Viewer application, a 3D globe-browsing tool. Google acquired Keyhole in 2004 and renamed the product Google Earth, continuing to develop the format. In 2008, Google submitted KML to the Open Geospatial Consortium (OGC), which adopted KML 2.2 as an official open standard, ensuring interoperability across GIS software beyond just Google's own tools.
Can a DAM preview a KML file without Google Earth?
Yes. KML does not require Google Earth for rendering — many open GIS libraries, including Leaflet and OpenLayers, along with desktop tools like QGIS, can parse and display KML geometry, placemarks, and styling directly in a browser or application. A DAM can integrate one of these libraries to generate thumbnail previews or interactive maps, avoiding any dependency on Google's proprietary Earth application.
Why might a KML file look broken when reused from a DAM?
If the KML references external images or icons by relative or absolute path and those files aren't carried along with it, the overlays and custom icons will fail to load in the viewer.
Is KML good for storing complex GIS attribute data?
It can hold structured data via extended data fields, but it's primarily designed for visualization in earth-browser applications rather than as a general-purpose vector attribute database like a shapefile or GeoPackage.
Can KML be converted to GeoJSON or Shapefile?
Yes. KML, GeoJSON, and Shapefile all store geometry alongside attribute data, so conversion between them is generally straightforward using tools like GDAL/ogr2ogr or QGIS. However, KML-specific visual styling — custom icons, line colors, polygon fills defined through its Style elements — often does not map cleanly to the target format, since GeoJSON and Shapefile have limited or no native support for that kind of presentation metadata.
Is KML XML-based?
Yes. KML is a dialect of XML, with its own schema of tags for defining geographic geometry — such as Placemark, Point, LineString, and Polygon — as well as visual styling like icons, colors, and camera views. Because it inherits XML's syntax, KML files are human-readable and can be edited or generated with standard XML tools, though this also means malformed tags can break parsing.
Should a DAM store bare KML files with linked images or convert them?
Converting to KMZ, or at minimum bundling the referenced images with the KML file, keeps the map annotation self-contained and prevents broken overlays after the asset is moved or downloaded.
Sources
- KML developed by Keyhole, Inc.; Google acquired Keyhole in 2004 checked 2026-08-07 — OGC KML standard page
- OGC approved KML 2.2 as an official OpenGIS encoding standard on 14 April 2008, the first de facto standard submitted into the OGC process checked 2026-08-07 — Geography Realm — A Look at KML