Convert KML to GeoJSON
KML 2.2 namespace: Placemark Point, LineString, LinearRing, Polygon with holes, and nested MultiGeometry become native GeoJSON.
- Runs in your browser
- No upload
- Check before download
Convert KML to GeoJSON
KML 2.2 namespace: Placemark Point, LineString, LinearRing, Polygon with holes, and nested MultiGeometry become native GeoJSON. Names, inert description text and Data values are retained. Styles, altitude modes, overlays, regions and foreign extensions are reported as losses or rejected. NetworkLink is always rejected. Heights are raw KML values; altitude datum/mode may differ from GeoJSON. No KMZ, linked resources or XSD certification. Coordinates/heights must round-trip as finite JSON numbers with safe integers; precision changes are rejected (invalid GPX heights are diagnosed and omitted).
Files and values stay on this device. No tiles, remote references, photos or contacts are fetched or sent. Downloads may contain private data.
1 MiB UTF-8 input; XML 100,000 UTF-16 units, JSON 200,000; 20,000 parser nodes, depth 32; 1,000 features/10,000 coordinates; 200 contacts/100 properties; 100 CSV columns/20,000 cells; 2 MiB combined output; worker stops after 5 seconds.
1 MiB UTF-8 input; XML 100,000 UTF-16 units, JSON 200,000; 20,000 parser nodes, depth 32; 1,000 features/10,000 coordinates; 200 contacts/100 properties; 100 CSV columns/20,000 cells; 2 MiB combined output; worker stops after 5 seconds.
Choose fields and policies before processing. Changing any input cancels the current job and clears the result.
How to use
- Source
Files and values stay on this device. No tiles, remote references, photos or contacts are fetched or sent. Downloads may contain private data.
- Choose fields and policies before processing. Changing any input cancels the current job and clears the result.
Choose fields and policies before processing. Changing any input cancels the current job and clears the result.
- Supported method
KML 2.2 namespace: Placemark Point, LineString, LinearRing, Polygon with holes, and nested MultiGeometry become native GeoJSON. Names, inert description text and Data values are retained. Styles, altitude modes, overlays, regions and foreign extensions are reported as losses or rejected. NetworkLink is always rejected. Heights are raw KML values; altitude datum/mode may differ from GeoJSON. No KMZ, linked resources or XSD certification. Coordinates/heights must round-trip as finite JSON numbers with safe integers; precision changes are rejected (invalid GPX heights are diagnosed and omitted).
- Verify the saved output
Diagnostics show source locations. Omitted styles, extensions and photos remain in the original backup; confirm losses before using a conversion. Preview shows the first 100 rows; downloads include the full selected output.
Questions
Supported method
KML 2.2 namespace: Placemark Point, LineString, LinearRing, Polygon with holes, and nested MultiGeometry become native GeoJSON. Names, inert description text and Data values are retained. Styles, altitude modes, overlays, regions and foreign extensions are reported as losses or rejected. NetworkLink is always rejected. Heights are raw KML values; altitude datum/mode may differ from GeoJSON. No KMZ, linked resources or XSD certification. Coordinates/heights must round-trip as finite JSON numbers with safe integers; precision changes are rejected (invalid GPX heights are diagnosed and omitted).
Source
Files and values stay on this device. No tiles, remote references, photos or contacts are fetched or sent. Downloads may contain private data.
1 MiB UTF-8 input; XML 100,000 UTF-16 units, JSON 200,000; 20,000 parser nodes, depth 32; 1,000 features/10,000 coordinates; 200 contacts/100 properties; 100 CSV columns/20,000 cells; 2 MiB combined output; worker stops after 5 seconds.
1 MiB UTF-8 input; XML 100,000 UTF-16 units, JSON 200,000; 20,000 parser nodes, depth 32; 1,000 features/10,000 coordinates; 200 contacts/100 properties; 100 CSV columns/20,000 cells; 2 MiB combined output; worker stops after 5 seconds.