KML(英語:Keyhole Markup Language),是基于XML语法标准的一种标记语言,采用标记结构,含有嵌套的元素和属性。KML由Google旗下的Keyhole公司发展并维护,用来表达地理标记。根据KML语言编写的文件即为KML文件,其格式采用XML文件格式,应用于Google地球相关软件中(Google Earth,Google Map, Google Maps for mobile等),用于显示地理数据(包括點、線、面、多邊形,多面體以及模型...)。而现在很多GIS相关企业也追随Google开始采用此种格式进行地理数据的交換。
由于KML文件是種多功能的地理數據格式,在Google开发下,它可以將網頁、圖片、模型等各種媒體檔案在Google Earth作完整的呈現。
KML本身的檔案通常不會很大,但在於呈現3維模型或是在於補充其他相關輔助資訊時,KML仍有其侷限性,故除透過網路提供KML資訊外,尚可透過KMZ將其相關檔案包裝成一單檔進行交換,此外可透過ZIP解壓縮去檢視其檔案內容結構,且與原KML有10:1之壓縮比,故有人視為其為KML壓縮檔,但根據其資料含意與結構比較類似於KML資料包裝檔。
KML在2008年4月14日被开放地理空间协会宣布為開放地理資訊編碼標準(OGC KML, OpenGIS® KML Encoding Standard)[1],而Google同時也在網站Blog上宣布不再控制KML標準,而移交給OGC去維護發展[2],而被採用的開放地理資訊編碼標準(OpenGIS KML 2.2 Encoding Standard)可以在其官方网站見到完整的手冊內容[3]。