Live Online Converterkml → shapefile

KML to Shapefile Converter

Converts a KML file to Shapefiles with GDAL's ogr2ogr, one Shapefile per KML folder.

Upload a .kml file. Each KML folder becomes its own Shapefile; all of them come in one ZIP with .prj files for WGS84. Folders with mixed geometries are split by geometry type, and the report lists every field name GDAL had to shorten.

Drag a file here to convert, or select file

Accepted: .kml · max. 50 MB

Direct upload to the GDAL worker (Fly.io, Frankfurt)Files are deleted after the conversion

What the converter does

  • Each KML folder becomes a Shapefile named after the folder; all Shapefiles are packed into one ZIP with .prj (WGS84).
  • A folder with mixed geometries is split into <folder>_points, <folder>_lines and so on; no feature is dropped.
  • Heights are kept (PointZ, LineStringZ).
  • Field names are cut to 10 characters: description becomes descriptio, altitudeMode becomes altitudeMo, barrierefreiheit_status becomes barrierefr (warnings in the report).
  • The KML time fields timestamp, begin and end become date fields without time of day (GDAL warning).
  • 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

sh — gdal
$ogr2ogr -f "ESRI Shapefile" output_shapefile input.kml Testkarte Haltestellen Wege -mapFieldType StringList=String,IntegerList=String,Integer64List=String,RealList=String

Testkarte, Haltestellen and Wege are the layers of the test file; the worker lists the layers of your KML. Folders with mixed geometries get extra commands with -dialect OGRSQL -sql ... -nln <folder>_points and so on.

Tested with

Test fileResult
KML with 1 placemark in the document and 2 folders (2 points with ExtendedData, 1 line with heights)ZIP with Testkarte.shp (1), Haltestellen.shp (2), Wege.shp (1); 4 of 4 features; PointZ/LineStringZ; EPSG:4326
KML folder with 1 point and 1 lineAlles_points.shp (1) and Alles_lines.shp (1); report: mixed geometry types, split

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.
  • Only .kml is accepted, not .kmz; unpack a KMZ first.
  • Shapefile limits apply: field names up to 10 characters, text up to 254 characters, no date-time type.
  • Each GDAL step may run for up to 240 seconds; a longer run is stopped with an error message.

Frequently Asked Questions

Why are the field names shortened?

The .dbf file of a Shapefile allows at most 10 characters per field name, so GDAL shortens KML field names like description or altitudeMode. The report lists each renaming.

Are the heights kept?

Yes. In the test the points came out as PointZ and the line with heights 45, 46 and 44 m as LineStringZ.

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.

Related conversions