PicaJet

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

Desktop/Earth browser Google Earth Pro opens KML natively and is the primary reference viewer for the format
Desktop GIS QGIS imports KML as a vector layer via its OGR-based data provider
Web Google My Maps and Google Maps can import KML files for display and sharing
Command line GDAL/OGR's ogr2ogr converts KML to and from shapefile, GeoJSON, and GeoPackage

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?

Keyhole, Inc. created KML for its Earth Viewer application; Google acquired Keyhole in 2004, and the Open Geospatial Consortium adopted KML 2.2 as an official standard on 14 April 2008.

Can a DAM preview a KML file without Google Earth?

Yes, tools like QGIS or web libraries built on GDAL/OGR can render KML placemarks and geometry for a preview thumbnail without requiring Google Earth itself.

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, GDAL/OGR's ogr2ogr command converts KML to GeoJSON, Shapefile, GeoPackage, and other vector formats, which a DAM conversion pipeline can automate on request.

Is KML XML-based?

Yes, KML is plain text XML, using geometry elements adapted from Geography Markup Language, which makes it readable, editable, and diffable without specialized software.

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-07OGC 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-07Geography Realm — A Look at KML