GeoJSON to KML Converter
Converts a GeoJSON file to KML 2.2 with GDAL's ogr2ogr.
Upload a .geojson or .json file. GDAL writes a KML 2.2 file: each feature becomes a placemark, the name property its name, all other properties ExtendedData. Coordinates in another system are reprojected to WGS84.
Drag a file here to convert, or select file
Accepted: .geojson, .json · max. 50 MB
What the converter does
- GDAL's KML driver always writes longitude/latitude: data in another coordinate system (e.g. EPSG:25832) is reprojected to WGS84 automatically.
- A field called name becomes the placemark's <name>; all other attributes are written as ExtendedData (SchemaData/SimpleData).
- KML has no date type: dates are written as text such as 2024/05/01 and lists as text such as (2:bahn,fern); GDAL warns about both in the report.
- Several layers go into one KML file, one folder per layer.
- The report below the upload shows layers and features read and written, skipped layers with the reason, GDAL's warnings and the exact commands.
GDAL command the worker runs
Tested with
| Test file | Result |
|---|---|
| 4 points with name, date, list and object | 4 of 4 placemarks; name as <name>, datum as text 2024/05/01, tags as (2:bahn,fern); 2 GDAL warnings in the report |
| 1 polygon in EPSG:25832 | 1 of 1 feature, coordinates written as WGS84 longitude/latitude |
Tested on 24 Sep 2026 with the worker code of this site and GDAL 3.10.3 (conda-forge build on Windows). The worker image runs the Debian build of the same GDAL version; the live worker was not part of these tests.
Limits
- Upload limit: 50 MB per file.
- No styles (colours, icons) are written.
- Each GDAL step may run for up to 240 seconds; a longer run is stopped with an error message.
Frequently Asked Questions
Do I have to reproject to WGS84 first?
No. GDAL's KML driver reprojects to WGS84 by itself. In the test a polygon in EPSG:25832 came out in longitude/latitude.
What happens to my file?
Your browser uploads it directly to the GDAL worker on Fly.io (region Frankfurt). The worker converts it in a temporary folder and deletes the folder after sending the result, or immediately if the conversion fails. Files are not stored permanently.