Cookies de estadística y publicidad
Usamos cookies de estadística y de publicidad, y ambas van a Google. Si rechazas, para ti no cambia nada visible.Ir a la página de privacidad
Aquí puedes convertir KML a CSV gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.
Hasta 100 archivos a la vez. Mezclar formatos no es problema.
Se convierten uno tras otro y vuelven juntos en un ZIP.
KML a CSV
KML se inventó para dibujar sobre un globo terráqueo, y un fichero de marcadores lleva mucho más que posiciones: un estilo por icono, un globo de descripción con HTML dentro, un árbol de carpetas que los agrupa, a veces una superposición de fondo. Pero buena parte del KML que circula se usa como lista: cuarenta delegaciones, un conjunto de puntos de muestreo, los sitios que alguien marcó con estrella durante un año.
Para ese fichero, un CSV es el envase más honesto. Cada marcador se convierte en una fila de nombre y coordenadas, que es lo que consume de verdad un geocodificador, un optimizador de rutas, la importación de un CRM o una agrupación en una hoja de cálculo. Todo lo que lo hacía un dibujo se queda fuera, y esa pérdida es deliberada: una columna con la URL de un icono no ayudaría a nadie.
KML escribe una coordenada como longitud, latitud y altitud en una sola cadena. Casi todos los demás formatos de esta familia nombran primero la latitud, y esa inversión es la manera más frecuente de estropear una conversión de KML: el par se transpone en lugar de desplazarse, y un punto de la Península acaba en el mar de Arabia sin que nada avise.
Aquí se intercambian, así que las columnas del CSV son latitud y después longitud. Vale la pena comprobarlo en lugar de fiarse, y la comprobación es de un segundo: en España peninsular la latitud ronda de 36 a 44 y la longitud va de unos −9 a 4; en el Cono Sur la latitud es negativa. Si la primera columna es pequeña y la segunda grande, algo aguas arriba las ha vuelto a cruzar.
Las coordenadas se escriben con seis decimales y con punto decimal, que es la convención universal para datos geográficos. En una hoja de cálculo configurada en español —donde el separador decimal es la coma y el de listas el punto y coma— ese CSV se abre mal de dos maneras a la vez: todo el contenido cae en una sola columna y, si consigues separarlo, la latitud se interpreta como texto.
La salida no cambia por eso, y no debería: alterarla rompería a todo lo demás que consume el fichero. Lo que hay que hacer es importarlo en lugar de abrirlo con doble clic, declarando la coma como separador de campos y el punto como separador decimal en el asistente. Es un minuto, y evita la escena clásica de un mapa con todos los puntos en el mismo sitio porque los decimales se perdieron por el camino.
Seis decimales de grado son unos once centímetros sobre el terreno. No es una cifra redonda elegida por comodidad: el error propio de un receptor GPS de consumo se mide en metros, así que los dígitos posteriores registran ruido y no posición.
Escribir los diecisiete que cabe en un número de coma flotante haría el fichero varias veces más grande sin hacerlo más exacto. Si tus coordenadas venían de un levantamiento topográfico con precisión centimétrica, esta redacción sí las trunca, y ese dato debe viajar en el formato de su instrumento y no en un KML.
Un KML anida: un documento contiene carpetas, que contienen más carpetas y finalmente los marcadores que llevan la geometría. El lector recorre ese árbol entero en lugar de mirar un nivel, porque un KML exportado desde una herramienta de mapas mete sus marcadores tres niveles abajo con toda naturalidad, y un lector que solo mira arriba informa de un fichero vacío que en realidad está lleno.
Lo que el recorrido no hace es conservar la estructura de carpetas. Una chincheta en «Sedes / Fase 2 / Confirmadas» sale como una fila indistinguible de otra del nivel superior, porque el CSV tiene una columna de nombre y pertenece al marcador. Si la agrupación es la información, hay que codificarla en los nombres antes de convertir.
Un marcador con un punto se convierte en una fila de tipo «waypoint». Uno con una línea se convierte en una tanda de filas de tipo «track», una por vértice, todas compartiendo el nombre del marcador. Esas dos cubren la inmensa mayoría del KML en circulación y ambas llegan con el nombre puesto.
Dos cosas no producen nada, y conviene saberlo antes de convertir. Un polígono —una zona sombreada, el límite de una parcela, un área de servicio— guarda su contorno dentro de elementos de frontera anidados en los que este lector no desciende, así que un área no aporta ninguna fila. Una geometría múltiple que envuelve varias líneas en un solo marcador se salta por la misma razón. Un KML hecho solo de áreas termina con el mensaje de que no se encontraron puntos ni recorridos, que es exacto y no es un problema del fichero.
Una línea es una forma sin noción de cuándo. Si el KML salió de una exportación de GPS en lugar de un dibujo, puede llevar en cambio una pista extendida de Google, que guarda listas paralelas de instantes y de posiciones. El lector la trata como un caso propio en lugar de confundirla con una línea, y esas marcas de tiempo caen en la columna correspondiente.
La señal de que tienes una es precisamente que esa columna venga rellena. Si está vacía en todas las filas, el origen llevaba líneas y ningún conversor puede recuperar unos tiempos que el fichero nunca guardó. Los instantes se copian tal como los escribió el origen, sin reformatear ni convertir de zona horaria: si venían en hora universal, en hora universal salen.
El tercer valor de una coordenada KML es la altitud en metros, y se escribe en la columna de elevación cuando está presente. Lo que no se consulta es el modo de altitud, el elemento hermano que dice cómo hay que interpretarla: pegada al suelo, relativa a él o absoluta.
Eso importa porque el valor por defecto de Google Earth es pegar al terreno, y bajo esa regla la altitud se ignora y se escribe como cero con muchísima frecuencia. Así que un KML dibujado a mano sobre terreno accidentado produce una columna de ceros que significan «en la superficie» y no «al nivel del mar». Trata una columna de ceros como ausente, y saca la altitud de un GPX o un TCX si es el número que venías a buscar.
La salida coloca todas las filas de tipo punto antes de todas las de tipo recorrido, sea cual sea el orden en que aparecían en el documento. Es una comodidad para el caso frecuente: un KML de chinchetas produce un fichero de puros puntos, y uno mixto de chinchetas más una ruta dibujada te deja las chinchetas arriba, donde se seleccionan sin desplazarse.
El coste es que el orden del documento no se conserva entre los dos tipos. Si la secuencia de elementos tenía significado —el orden en que una inspección visitó sus emplazamientos, por ejemplo—, ese orden tiene que salir de los nombres o de la columna de tiempo, y no del número de fila. Dentro de cada tipo, el orden original se respeta exactamente.
El nombre del marcador es el campo con más probabilidades de romper un CSV ingenuo, porque es texto libre escrito por una persona. «Nave 3, entrada trasera» contiene el delimitador, y una dirección postal usada como nombre contiene varios. El escritor entrecomilla cualquier valor con coma, comilla o salto de línea, y duplica las comillas interiores, que es lo que espera cualquier hoja de cálculo y cualquier biblioteca de CSV.
Las coordenadas nunca necesitan comillas, así que el fichero se sigue leyendo cómodamente en un editor de texto. Si revisas la salida a ojo, las filas entrecomilladas son las que merecen un vistazo: un nombre con una comilla desemparejada en el KML de origen es el único caso en que el fichero ya venía mal formado y la conversión lo arrastra fielmente.
KML define un elemento de dirección en un marcador, y Google Earth lo rellena cuando la chincheta se creó buscando un lugar en vez de pinchando sobre el globo. Aquí no se lee, así que la salida lleva un nombre y unas coordenadas y nada que se parezca a una dirección aunque el documento de origen la tuviera.
Para la mayoría de destinos no es una pérdida, porque un par de coordenadas es una clave más fuerte que una línea de calle y cualquier servicio de rutas o de mapas la acepta directamente. Donde de verdad haga falta una dirección, tendrá que salir de una geocodificación inversa, y conviene revisar unas cuantas a ojo: una chincheta puesta en mitad de un aparcamiento se resuelve al edificio más cercano, que a menudo no es el que señalaba.
La conversión ocurre entera en esta pestaña: el KML se lee, se recorre y se reescribe localmente, y ninguna petición lo lleva a ninguna parte. No hay cuenta, ni cola, ni política de conservación que leer, porque no hay nada en un servidor que conservar.
El motivo para que eso importe es qué suele ser una lista de marcadores. Con frecuencia es una cartera de clientes, un conjunto de direcciones de reparto, emplazamientos de pacientes o de activos que alguien preferiría no publicar. Pasarla a CSV la hace a la vez más portátil y más legible, así que la salida merece el mismo trato que la hoja de cálculo en la que está a punto de convertirse.
| KML | CSV | |
|---|---|---|
| Nombre completo | Keyhole Markup Language | Comma-Separated Values |
| Extensión de archivo | .kml | .csv |
| Tipo de medio | application/vnd.google-earth.kml+xml | text/csv |
| Publicado por primera vez | — | 1972 |
| Publicado por | Keyhole | — |
| Especificación | OGC KML 2.3 | RFC 4180 |
| Licencia | Estándar abierto | Estándar abierto |
| Situación actual | Vigente | Vigente |
| Se abre en el navegador | Ningún navegador | Ningún navegador |
| Considerado en su lugar | KMZ, GPX | XLSX, JSON, Parquet |
Los programas de siempre no coinciden: KML se abre en Google Earth, QGIS y ArcGIS, y CSV en Microsoft Excel, LibreOffice Calc y pandas, así que quien reciba el resultado necesita alguno del segundo grupo.
Los dos apuntan a trabajos distintos: KML a los mapas y CSV a mover datos entre programas. Conviene sopesarlo antes, porque la razón de ser de uno suele ser la razón por la que el otro resulta incómodo.
KML es el formato de Keyhole. Está recogido en OGC KML 2.3, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.
CSV es de 1972, recogido en RFC 4180. Microsoft Excel, LibreOffice Calc y pandas lo leen.
No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.
Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.
KML y CSV describen el contenido de maneras radicalmente distintas. La conversión es por tanto una reconstrucción y no una copia: fiel, pero no idéntica byte a byte. Una fila por cada punto registrado. Todo lo que el archivo guardaba más allá de posición, altitud y hora no cabe en una tabla.
Para la conversión no: ocurre en el navegador que ya tienes abierto. Para abrir el resultado necesitas después el programa con el que tu dispositivo muestra normalmente Comma-Separated Values.