How to Convert GeoJSON to KML for Google Earth
Your data is in GeoJSON, neat and web-ready. Now a partner, a client, or a field team wants to see it in Google Earth. Earth speaks KML. The good news: this is one of the kindest roads in map work. Both formats use longitude and latitude in WGS 84, so the numbers do not change. What changes is the package — and the chance to add names, notes, and a clean structure that Earth shows well.
This guide shows you how to use the GeoJSON to KML converter and get a file that opens in Earth with the right pins, paths, and areas in the right places. The worked example is a set of flood watch points and zones, the kind of file a town team shares before a storm.
You will also learn the limits. KML is a view format as much as a data format. Some GeoJSON shapes need a choice before they fit, and long fact lists need a trim. Plan for both, and the file you send will open clean on the first try.
Why Google Earth Still Matters
Google Earth is free, most people have seen it, and it shows data on real ground: hills, rivers, roofs, and roads as they are. For a non-expert reader — a mayor, a client, a new field hand — a file that opens in Earth beats a data file and a set of steps. They double-click, and the map is there, in 3D, with names they can click.
KML is the file Earth reads. It is XML text with tags for each item, called a Placemark. Each Placemark can hold a name, a note, a style, and a shape. Earth also reads KMZ, which is KML packed in a ZIP. For most shares, plain KML is fine. KMZ helps when the file is big or holds images.
Because KML thinks about the view, it cares about things GeoJSON does not: the order items are listed, the folder they sit in, and the text in the pop-up. A good conversion sets the name field with care, since that name becomes the label your reader sees in the list and on the map.
What Changes on This Road
Shapes carry over in a clean way for the core types. Points become Placemarks with a pin. Lines become paths. Polygons become shaded areas with an edge. Multi-part shapes — a feature with two or more pieces — become one Placemark that holds all the parts, or split into more than one Placemark, based on the tool. Our converter keeps one feature as one Placemark, with all its parts in it.
Facts become the pop-up. In Earth, when a reader clicks a pin, a balloon pops up with the facts. A short fact list reads well. A list of 40 fields does not. Before you convert a rich file, ask which five or six facts the reader needs. Keep those in the front of your mind when you read the report, and do not panic about the rest: they stay safe in your GeoJSON master.
One more change: height. GeoJSON points can hold a third number for height, and KML can use it. Most files are flat, and flat is fine. If your data has real heights, tell your reader to set the view to tilt in Earth, or the heights will be hard to see. If it has no heights, Earth drapes the shapes on the ground, which is what most readers want. For files that need a system change first, fix the coordinate system before you share the file and then make the KML.
Words to Know
Four short terms cover this road. KML adds one of its own — Placemark — which the text explains as it goes.
- Feature. one real thing on the map, such as one park, one road, or one shop. A file can hold many features.
- Geometry. the shape of a feature. A point is one spot. A line is a path. A polygon is a closed area with an edge.
- Attribute. a fact about a feature, stored as text or a number. A park has a name. A road has a speed limit. Those facts are attributes.
- Coordinate system (CRS). the rule that says what the numbers in a file mean. It tells a program where each point sits on Earth. Without it, numbers are just numbers.
When KML Is the Right Output
Pick KML when the reader and the tool call for it. The clear cases:
- Your reader will open the file in Google Earth, on a desktop or a phone.
- You present data to non-experts who need real ground under the shapes.
- A field team collects or checks points in Earth and sends the file back.
- You need a file you can email that opens with a double click, with no GIS program.
Pick a data format instead when the next step is code, a database, or a web map. KML is a fine view and a poor master. Keep the master in GeoJSON, and make KML copies for Earth readers. If the file you got came from Earth in the first place, the other way round, from KML to GeoJSON guide covers that road and what its styles do on the way out.
A Worked Example: Flood Watch Points and Zones
Your GeoJSON holds 12 watch points and 3 flood zones. Each point has a name, a river level, and a status. Each zone has a name and a risk grade. Here is what each part becomes in Earth:
| GeoJSON feature | Shape | In Google Earth | Reader sees |
|---|---|---|---|
| North Bridge gauge | Point | Placemark with a pin | Name label; click shows level and status |
| Mill Lane gauge | Point | Placemark with a pin | Name label; click shows level and status |
| Low Fields zone | Polygon | Placemark with a shaded area | Shaded zone; click shows name and risk grade |
| Old Town zone | Polygon | Placemark with a shaded area | Shaded zone; click shows name and risk grade |
15 features go in. 15 Placemarks must come out. The check is a list check: open the KML in Earth, read the names in the side list, and tick them off against your GeoJSON names. A name that reads as a blank or as a code tells you the name field was picked wrong, and that is a two-minute fix at the source, not a flaw in the data.
Note what the reader gets. They do not see a data table. They see pins they can click. So the name and the top facts do the work. If your GeoJSON name field holds a code like WP-012, and a plain name sits in a field called label, use the plain name for Earth. Your reader will not know the codes, and should not need to.
Keep Your Source Safe
Work on a copy, not on your only file. Save the first file in a safe place and do not change it. If a test goes wrong, you can start again from the clean source. This sounds like a small point, but it saves more work than any other habit in this guide.
Give each test a clear name. A name like test-1 tells you the order of your tries. A name like final-final-2 tells you nothing at all. When you find the settings that work, write them down in a short note next to the files. The next file of the same kind will then take minutes, not an hour.
How to Convert GeoJSON to KML, Step by Step
Have Google Earth ready on your machine if you can. The last steps use it as the test reader. A file that opens clean in Earth is the goal; a report alone is not proof.
Step 1: Check your name field in the GeoJSON
Open the file and read the facts on two or three features. Find the field that holds the plain name a person would use. Note its exact field name, letter for letter. If names are split — a code in one field, a name in a text field — pick the text one for Earth. If there is no name field at all, add one in the source first. Earth with no names is a list of pins no one can use.
Step 2: Upload the GeoJSON file
Drop the file on the home page. The summary shows the feature count by shape type, the field list, and the bounds. Match the counts to your own tally. For the flood file, that is 12 points and 3 polygons. A mismatch here means the wrong file, or a file with a shape type you forgot it held.
Step 3: Choose KML as the output format
Pick KML from the format list. No coordinate change is needed: both formats use WGS 84 longitude and latitude. Leave the target system at WGS 84 (EPSG 4326). If your GeoJSON came from a tool that stored numbers in a different system without saying so, the points will land in the wrong place in Earth too. The preview check in Step 5 is how you catch that.
Step 4: Run the conversion and read the report
Click Convert. Read the report: features in and out, and the fields kept on each feature. If your source held 30 fields and the work needs 6, do not worry — the master file keeps all 30. What matters is that the name field and the key facts are in the kept list, spelled as you expect.
Step 5: Check the map preview
The preview shows the points and zones on a flat map. They should sit on the right river and the right streets. This is your coordinate check. If the gauges sit in the sea or in a neat line across the wrong county, the source numbers were not WGS 84, no matter what the file claimed. Fix the source system, then run the job again.
Step 6: Open the KML in Google Earth
Download the result and open it in Earth. Read the side list. Each name should be there, in a clean list. Click two pins and one zone. The pop-up should show the name and the key facts, in text a person can read. Tilt the view and fly to the river: the zones should hug the low ground by the water.
Step 7: Send the file with a one-line note
Email or share the KML as it is. Add one line to your note: what the file shows, and the date of the data. Earth files get passed on and on, and a file with no date turns into a fact no one can check. Name the file with the date in it, like flood-watch-2026-11-07.kml.
How to Check Your Result
Never trust a conversion you have not checked. The good news is that a sound check takes just a few minutes, and it is the same each time you work on a GeoJSON to KML job.
First, match the counts. The report shows how many features went in and how many came out. The two counts should be the same. If the output count is lower, a step dropped data, and you should find out why before you share the file.
Next, look at the map preview. Your data should sit in the right town, state, or sea. If it sits in the ocean, or on the wrong side of the world, the coordinate system is the prime suspect. Zoom in on one place you know well and check that roads, parks, or points fall where they should.
Then check the fields. Open the field list in the report and read the names. Make sure the key fields are still there, with the right names and the right kind of values. Pick one feature you know and match each value back to the source by hand.
- Tick off every name in the Earth side list against the GeoJSON names. 15 in, 15 named items out.
- Click the first, middle, and last items in the list. Each pop-up must show that item's own facts, not a neighbour's.
- If you have a whole folder of files to share this way, convert a whole folder of files in one batch instead of one at a time.
Last, keep the source file. Save the result with a clear name that holds the date and the format, like parks-geojson-2026-11-07.zip. Keep the source and the result in one folder. If a question comes up next month, you can trace each feature back to where it came from.
Common Mistakes and How to Fix Them
Pins Show Codes Instead of Names
The name field was picked wrong, or the file has no name field and Earth fell back to the first field it found. Go back to Step 1 and name the right field. If the GeoJSON truly has no plain names, add a name field in the source. It is ten minutes of work that saves every reader a decode task.
The Pop-Up Shows a Wall of Facts
Your GeoJSON is rich and Earth shows it all. For a share file, that is noise. Make a slim copy of the GeoJSON with just the fields the reader needs, convert the copy, and keep the rich file as the master. Do not edit the KML by hand; you will have to redo it at each update.
Zones Shade the Whole Map
A polygon ring drawn in the wrong order can shade the outside of the ring. If one zone covers the Earth with a hole where the zone should be, the ring order is the cause. Fix the ring in the source data, or redraw that one zone, and convert again.
Points Sit in the Wrong Place in Earth
The source GeoJSON numbers were not WGS 84 degrees, even though the format says they must be. This happens with files made by hand or by loose tools. The cure is to reproject the true source data to WGS 84 first, then convert. Dragging pins in Earth fixes the view, not the data.
The File Is Slow to Open in Earth
Huge point counts or very dense lines can make Earth crawl. If your file holds tens of thousands of points, split the share by area or by group, or thin the line points in the source. Earth is a view tool. Feed it a view-sized file.
What the Plans Allow
You can start free. The Free plan gives you 5 conversions a month, with one file at a time and a size limit of 25 MB per file. That is enough to test a GeoJSON share file for a partner on real data and check the result with care.
Starter costs $9 a month. It gives you 200 conversions a month, files up to 500 MB, and batch jobs of up to 10 files at once. Pro costs $19 a month. It gives you 1,000 conversions a month, files up to 5 GB, batch jobs of up to 25 files, and API access for work you run on a schedule. You can see plan details before a big batch before you pick.
All plans work the same way at the core. You get a map preview, feature counts in and out, and a clear report if a file has a fault. Your files are kept for 72 hours so you can download them again, and then they are deleted.
Frequently Asked Questions
Should I send KML or KMZ?
Send KML for most files. It is plain text and opens in Earth with a double click. Send KMZ when the file is large, since the packed form is much smaller, or when the KML points to images packed with it. Both open the same way for your reader.
Can my reader edit the KML and send it back?
Yes. Earth lets a reader move pins, add Placemarks, and save the file. When it comes back, convert it to GeoJSON to merge the edits with your master data. Check counts with care: hand edits in Earth often add stray pins at the origin or duplicate a point.
Do styles I set in my web map carry into the KML?
No. Web map styles live in your code, not in the GeoJSON. The KML will use Earth's default pins and lines unless styles are set in the KML itself. For most shares, default styles with good names beat fancy styles with poor names.
What happens to multi-part features?
A feature with two or more parts becomes one Placemark that holds all the parts. In Earth it shows as one item in the list, and all its parts light up at once when clicked. That is most often what a reader expects from one named thing, like an island group.
How many features can a KML hold?
There is no hard cap in the format, but Earth slows down as files grow past tens of thousands of items. Split big shares by area or theme. Your reader gets a file that opens fast, and a list they can actually read.
Final Checklist
Run through this short list before you share your file:
- Placemark count in Earth matches the GeoJSON feature count.
- Names in the side list are plain names, not codes.
- Two pins and one area show the right facts when clicked.
- Points and zones sit on the right ground in the preview and in Earth.
- The file name holds the date, and your note says what the data is.
If each point passes, your file is ready to use.
References
- https://developers.google.com/kml/documentation/kml_tut — The Google KML tutorial. It shows how Placemarks, paths, and polygons appear in Google Earth.
- https://www.ogc.org/standards/kml — The OGC KML standard page. KML 2.2 is an open standard, not just a Google format.
- https://www.rfc-editor.org/rfc/rfc7946 — RFC 7946, the GeoJSON specification, for the source format and its coordinate rules.