Add your KML
Drop a KML file anywhere on this page
.kml · it never leaves the browser
Options
Your GeoJSON
Add a KML file and the GeoJSON appears here, with its feature counts and anything this pair cannot carry.
What comes across, and what cannot
Preserved
- Geometry — points, lines and polygons come across coordinate for coordinate; nothing is reprojected, because both sides are WGS84 longitude/latitude.
- Every attribute survives, with its name intact.
- Elevation (the Z ordinate) is preserved where the source has one.
- Feature order is preserved, so a row in the output is the same feature as the row in your input.
Dropped
- Styling. KML carries Style and StyleMap elements — icon, colour, line width, fill — and GeoJSON has nowhere to put them, so they are dropped. Style the data on the map instead.
- Time as a dimension. KML's TimeStamp and TimeSpan elements are read as ordinary attributes, which is as close as GeoJSON gets to a clock.
Keyhole Markup Language (KML)
The XML format Google Earth popularised. Placemarks carry a name, a description balloon, a geometry and — unlike GeoJSON — presentation: styles, icons, colours, altitude modes and time stamps.
.kml · application/vnd.google-earth.kml+xml
GeoJSON (RFC 7946)
The web's lingua franca for vector data: plain JSON, WGS84 longitude/latitude, every geometry type, and an untyped property bag per feature. It carries no styling — colour and symbology belong to the map, not the file.
.geojson · .json · application/geo+json
Convert KML to GeoJSON, step by step
- Step 1
Add your KML
Drop a KML file anywhere on the page, paste it, point at a URL, or press Sample to start from real data. Several files at once are fine.
- Step 2
Set what matters
Coordinate precision and simplification on every pair, plus the handful of settings this one needs.
- Step 3
Take the GeoJSON
Read the feature counts and the warning list, then download, copy, or open the result in the Spatly studio to style and publish it.
Your data never leaves the page
Every conversion, measurement and export happens client-side. Nothing is uploaded, logged or stored — you can even use this offline once the page has loaded. Only “Open in Studio” sends data, and only after you sign in.
Good to know
- What is preserved when converting KML to GeoJSON?
- Geometry — points, lines and polygons come across coordinate for coordinate; nothing is reprojected, because both sides are WGS84 longitude/latitude. Every attribute survives, with its name intact. Elevation (the Z ordinate) is preserved where the source has one. Feature order is preserved, so a row in the output is the same feature as the row in your input.
- What is lost converting KML to GeoJSON?
- Styling. KML carries Style and StyleMap elements — icon, colour, line width, fill — and GeoJSON has nowhere to put them, so they are dropped. Style the data on the map instead. Time as a dimension. KML's TimeStamp and TimeSpan elements are read as ordinary attributes, which is as close as GeoJSON gets to a clock.
- What happens to my folders?
- Placemarks inside folders are flattened into one collection; the folder name is not carried through as a grouping. If you need the grouping, add a property for it before converting, or convert each folder separately.
- Are ground overlays and network links converted?
- No. Only placemark geometry and its data come through. GroundOverlay, ScreenOverlay and NetworkLink are references to other resources rather than features, so there is nothing to convert them into.
- Is the GeoJSON valid RFC 7946?
- Yes: a single FeatureCollection, coordinates as [longitude, latitude], no CRS member — the RFC dropped it and mandates WGS84. Use the GeoJSON editor afterwards if you also want winding order and ring closure checked.
- Is my file uploaded anywhere?
- No. The KML is read, converted and written entirely inside this page — there is no upload, no queue, no server-side copy and no size limit imposed by a plan. Large files are parsed in a background worker so the page stays responsive. The only action that transmits anything is Open in Studio, and that happens after you sign in and press it.
- Is there a limit on file size or number of files?
- There is no imposed limit; the practical ceiling is your browser's memory. Files over about 5 MB are handed to a web worker so the interface keeps responding, and you can drop several files at once — each is converted separately and the set can be downloaded as one zip.