GeoJSON to KML: Best Practices and Pitfalls
The two mistakes that ruin most GeoJSON-to-KML conversions are swapping coordinate order (both formats use longitude before latitude) and assuming every GeoJSON property survives — KML only carries a placemark name and description, so map your useful fields into those before converting. Get those right and the rest is smooth.
This guide assumes you already know the basic steps. It focuses on the settings and habits that separate a clean, Google-Earth-ready file from one that renders in the wrong place or loses its labels.
Get coordinate order right
Both GeoJSON and KML store positions as longitude, latitude — not the lat, lon you say out loud or read off a map app. GeoJSON uses [lon, lat, alt] arrays and KML uses lon,lat,alt strings. If your points land in the ocean off West Africa (the 0,0 null island) or appear mirrored, a lat/lon swap in your source data is almost always the cause. This converter maps the axes across correctly, so fix the input rather than blaming the output.
Map the properties that matter
KML has no home for arbitrary GeoJSON properties. The converter carries across the two that Google Earth actually shows:
| GeoJSON property | Becomes in KML | Where it shows |
|---|---|---|
name (or title) | Placemark name | Places panel label |
description | Placemark description | Info balloon |
| Any other field | Omitted | — |
Best practice: before converting, fold the details you care about into a description field. If each feature has, say, a status and an owner, concatenate them into the description so they survive the trip. Give every feature a clear name too, or your placemarks arrive as unlabelled points that are painful to tell apart.
Handle polygons and holes correctly
Polygons with holes — lakes, courtyards, exclusion zones — convert properly because the first ring becomes the KML outerBoundaryIs and every additional ring becomes an innerBoundaryIs. The common pitfall is malformed source geometry: a polygon ring that is not closed (first and last coordinate must match) or wound in a way your authoring tool dislikes. Validate the GeoJSON first so the rings are well-formed, and the holes render cleanly.
Validate before you convert
Most failed conversions are actually invalid input. A trailing comma, an unquoted key or a truncated download will throw a parse error. Run the file through a JSON validator first — it is far quicker to fix a syntax slip up front than to guess why Google Earth shows nothing. The converter reports parse errors with a clear message, so read it rather than retrying blindly.
Mind file size and splitting
Because everything runs in your browser, memory is the only limit. Tens of thousands of features convert in a second or two, but a massive national dataset can crawl. If a huge FeatureCollection stalls, split it into logical layers — by region or feature type — and convert each separately. Smaller KML files also load faster in Google Earth and are easier to toggle on and off.
The privacy upside of local conversion is real: proprietary parcel boundaries, utility networks and unreleased survey data never leave your device, so there is no compliance headache in using the tool on confidential work.
Try the GeoJSON to KML Converter — free and 100% in your browser.
Frequently asked questions
Why do my placemarks have no labels in Google Earth?
Your features lack a name (or title) property. Add one to each feature before converting, and it becomes the placemark label shown in the Places panel.
My points appear in the wrong location — what happened?
Almost always a coordinate-order problem in the source. GeoJSON expects [longitude, latitude]; if your data was written latitude-first, the axes are swapped. Correct the input order and reconvert.
Can I keep custom attributes like population or category?
Not as separate KML fields — KML only stores name and description. Merge the attributes you need into the description text before converting so they still appear in the info balloon.
How do I stop a large file from freezing my browser?
Split the FeatureCollection into smaller layers by region or geometry type and convert each one. Smaller files also open and toggle faster in Google Earth.
Related free tools
- JSON Validator — catch syntax errors before converting.
- JSON Formatter — tidy and inspect your GeoJSON.
- KML to GeoJSON Converter — convert back the other way.
- GPX to KML Converter — turn GPS tracks into KML.
Built by ByteVancer
ByteTools is a free product of ByteVancer, a software and web development studio building web apps, SaaS and custom software — including mapping and GIS tooling. If you need a bespoke geospatial workflow built, explore what ByteVancer can do.
Recommended reading
How to Convert GeoJSON to KML for Google Earth Free
Convert GeoJSON to KML for Google Earth free in your browser. Points, lines, polygons with holes and feature properties supported — no upload, fully private.
GeoJSON to KML: Real Use Cases and Workflows
Who converts GeoJSON to KML and why — GIS presentations, API debugging, drone surveys and field mapping, with concrete real-world workflows.
XOR Cipher Use Cases: CTFs, Learning, and Puzzles
Real use cases for the XOR cipher, from CTF challenges and teaching bitwise logic to lightweight obfuscation, with concrete worked examples.
XOR Cipher Tips: Keys, Security, and Common Mistakes
Pro tips and common mistakes for the repeating-key XOR cipher: key length, reuse pitfalls, format choices, and when to switch to real encryption.