SM Datum

KML to GeoJSON Converter

Convert a KML or KMZ file to GeoJSON. Each placemark becomes a feature, with its name, description, folder and custom data as properties. Polygon holes, multi-part shapes and Google Earth tracks are handled. The file is read in your browser and never uploaded.

Drop a KML or KMZ file here, or click to browse
Nothing is uploaded: the file is read in your browser.

No file handy? Download a sample KML with a folder, points, a line, a polygon with a hole and custom data.

    How to convert KML to GeoJSON

    1. Load the file. Drop a .kml or .kmz file onto the box above, or click it to browse. KMZ files are opened for you; there is no need to unzip them first.
    2. Check the preview. The page counts the placemarks and shapes it found and shows the first rows of the properties table.
    3. Choose the options. Decide whether to turn HTML descriptions into plain text, convert numbers, add the folder path, and how to write the coordinates.
    4. Download. Click Download GeoJSON. Each placemark becomes one feature, with its name, description and custom data as properties.

    How KML becomes GeoJSON

    In the KMLIn the GeoJSON
    PlacemarkOne Feature.
    Point, LineString, PolygonPoint, LineString, Polygon. Polygon boundaries become rings, and inner boundaries become holes.
    LinearRing on its ownA LineString.
    MultiGeometryMultiPoint, MultiLineString or MultiPolygon when every part is the same kind, otherwise a GeometryCollection.
    gx:Track and gx:MultiTrack (Google Earth GPS tracks)A LineString or MultiLineString through the track points. The time stamps are not kept.
    Placemark name and descriptionThe name and description properties. Descriptions that contain HTML are turned into plain text unless you untick that option.
    The folders a placemark sits inA folder property such as Parks / North, if you leave that option ticked.
    ExtendedData (Data and SimpleData)One property per field. If a field is called name, description or folder, it is renamed with _2 so nothing is overwritten.
    Altitude (the third number in a coordinate)The third coordinate, only if the file has non-zero altitudes and you leave Keep elevation ticked.
    Styles, icons, colours, camera viewsNot carried over. GeoJSON stores geometry and attributes only.

    Both formats use WGS 84 longitude and latitude, so no reprojection is needed and the coordinates are copied as they are. Rings are re-oriented to the GeoJSON standard (RFC 7946) by default.

    Data fields and numbers

    KML stores every custom data value as text. With Convert numbers ticked (the default), a field becomes a JSON number only when every value in it is a number, so a column of ids such as 007 or 2026-03 is never changed halfway. Values with leading zeros, and numbers longer than 15 digits, stay as text so no digits are lost.

    Common problems and how to fix them

    The page says this is not valid KML

    The XML could not be read, or the file is XML of another kind. A KML file starts with a kml element. Open the file in a text editor to check that it was not cut off during download. For a KMZ, the .kml inside is used.

    No placemarks were found

    Only Placemark elements are converted. Ground overlays, screen overlays and network links hold no placemarks. A file that contains only a NetworkLink is a pointer to another file; open the file it points to instead.

    My descriptions are full of HTML

    Leave Plain-text descriptions ticked. Line breaks are kept and tables are flattened to text. Untick it to keep the original HTML.

    The colours and icons are gone

    GeoJSON has no styling. If you need the look as well, keep the KML, or restyle the data in KML Studio.

    Some placemarks are missing

    Placemarks with no shape, and placemarks with coordinates outside the valid range, are left out. The page says how many.

    What this converter does and does not do

    • Placemarks only. Ground overlays, screen overlays, photo overlays and network links are counted and not converted.
    • Not kept: styles, icons, time stamps and time spans, camera views, and 3D models.
    • KMZ. The main .kml inside the zip is read (doc.kml first). Images and other files in the KMZ are ignored.
    • Runs in your browser. Nothing is uploaded and there is no signup, so the practical size limit is your computer's memory.

    KML or GeoJSON: what is the difference?

    KML is an XML format for Google Earth and Google My Maps. It stores shapes together with styling and balloons, in folders. GeoJSON is a compact JSON format that web maps, APIs and code read directly, and it keeps only geometry and properties. Convert to GeoJSON to use KML data in a web map, a database or a script. To go the other way, use GeoJSON to KML.

    Frequently asked questions

    How do I convert KML to GeoJSON?

    Drop the .kml or .kmz file onto the converter, check the preview, then click Download GeoJSON. Each placemark becomes one feature.

    Is it free, and do I need an account?

    It is free and needs no account or signup. The file is read in your browser and never uploaded to a server.

    Can it open KMZ files?

    Yes. A KMZ is a zipped KML. The page opens it and reads the main .kml inside, so there is no need to unzip it.

    Which KML elements are converted?

    Placemarks with points, lines, polygons (including holes), MultiGeometry and Google Earth GPS tracks. Ground overlays, screen overlays, photo overlays, network links and 3D models are not converted, and the page tells you when the file has them.

    Are the names, descriptions and custom data kept?

    Yes. The name and description become properties, every ExtendedData field becomes a property, and a folder property records which KML folder the placemark was in.

    What happens to MultiGeometry?

    Parts of the same kind become a MultiPoint, MultiLineString or MultiPolygon. Parts of different kinds become a GeometryCollection.

    Are time stamps kept for GPS tracks?

    No. A Google Earth track becomes a plain line through its points. The times are not written to the GeoJSON.

    Does it keep colours and icons?

    No. GeoJSON has no styling. Use KML Studio if you need to restyle KML.

    Does it keep altitude?

    If the KML coordinates contain non-zero altitudes, a tick box lets you write them as the third coordinate. Many KML files store 0 for every altitude; those are treated as having none.

    What does Convert numbers do?

    KML data values are all text. When every value in a field is a number, the field becomes numeric in the GeoJSON. Values with leading zeros and numbers longer than 15 digits stay as text so nothing is lost.

    Does it reproject my data?

    No reprojection is needed. KML and GeoJSON both use WGS 84 longitude and latitude, so the coordinates are copied across.

    Does it correct the ring direction?

    Yes, by default. GeoJSON asks for outer rings counter-clockwise and holes clockwise. You can switch the correction off.

    Is there a file size limit?

    There is no fixed limit, but the work happens in your browser's memory. Very large files can be slow, especially on a phone.

    How do I convert GeoJSON back to KML?

    Use GeoJSON to KML, which writes KML or KMZ with styling options.

    Related tools and guides

    Need survey data cleaned, projected or mapped at scale? Sagarmekhla GIS Consultancy offers GIS and remote sensing services.

    Request a consultation

    Last updated 2026-10-15. Published by Sagarmekhla GIS Consultancy.