KML (de la sigla en inglés Keyhole Markup Language) es un lenguaje de marcado basado en XML para representar datos geográficos en tres dimensiones.
Su gramática contiene muchas similitudes con la de GML.
Los ficheros KML a menudo suelen distribuirse comprimidos como ficheros KMZ, los cuales pueden además incluir archivos de imágenes y otros recursos asociados al mapa.
Un fichero KML especifica una característica (marcas de lugares, imágenes, polígonos, modelos 3D, descripciones textuales, etc.) para Google Earth o cualquier otro software que implemente KML.
Contiene título, una descripción básica del lugar, sus coordenadas primero (longitud), segundo (latitud) y opcionalmente la altitud.