Shapefile to KML Converter: GIS Data into Google Earth

All tools
Report

Heading to the field? Install this site from your browser menu and this tool works with no signal. See how

Converter

Nothing is uploaded. The file is converted on your own device, so it works with no signal.

Drop a file here or

Nothing leaves your device.

No file to hand?

Waiting for a file.

Features in this file

NameTypeFolderVerticesLengthArea

A diagram showing one easting and northing pair, 673513.47 and 4096742.00, read four different ways. Read as UTM zone 11N it lands in Nevada, 534 km west. Read as zone 12N, the correct answer, it lands at Four Corners in Colorado. Read as zone 13N it lands in Kansas, 534 km east. With no projection file at all the coordinates are treated as degrees and clamped to zero north and zero east, in the Gulf of Guinea. A panel explains that a zone wrong by one keeps the latitude correct and the shapes perfect, so nothing looks broken.
The middle two answers are the dangerous ones. A wildly wrong projection is obvious the moment you look at the map, but a neighbouring zone produces a perfectly plausible dataset in the wrong place.

How to use this tool

A shapefile is never one file, so zip the whole set together and drop the zip on the panel above. At minimum that means the .shp, .shx and .dbf. Include the .prj as well, because without it nothing on Earth can tell whether the numbers inside are degrees or metres, and this tool will say so rather than guess.

When the file loads, read the line under the status message. It names the coordinate system found in the .prj and says whether anything was reprojected. That single line is the most useful thing on this page, and it is the step most converters skip.

Press Convert to KML and download. What comes back is one .kml file in WGS84, ready for Google Earth. If you would rather send a smaller single file, use the Shapefile to KMZ Converter instead, which produces the zipped form.

Why this conversion is really a reprojection

KML is defined to hold WGS84 longitude and latitude. Not a national grid, not UTM metres, not a local site datum. That is not a convention this tool imposes, it is in the specification, and Google Earth relies on it.

Shapefiles carry no such rule. A .shp is a bag of numbers, and the .prj beside it is the only record of what those numbers mean. So converting a shapefile to KML is not a repackaging job, it is a coordinate transformation, and it is the step where data most often ends up in the wrong country.

This tool reads the .prj, recognises WGS84 geographic, UTM by zone, Web Mercator and general transverse Mercator, and transforms the coordinates properly. If it meets a projection it cannot handle, it refuses by name rather than passing the numbers through and hoping. A refusal you can act on beats a map that looks fine and is 500 km wrong.

A worked check you can repeat on paper

The most common real world error is not a wildly wrong projection, it is a UTM zone that is off by one. Say a colleague sends a shapefile with an easting of 673513.47 and a northing of 4096742.00, and the .prj says zone 12N. Read correctly, that is 37.0008 north, 109.0500 west, in the Four Corners area of Colorado.

Now suppose the .prj had said zone 13N by mistake. UTM zones are 6 degrees of longitude wide, and each zone measures its easting from its own central meridian. Reading the same easting against the next meridian east shifts the answer by exactly one zone width, 6 degrees of longitude. The latitude does not move at all.

Work out what that costs on the ground. One degree of longitude at the equator is 111320 m, and it shrinks with the cosine of the latitude. At 37 degrees north the cosine is 0.79864, so a degree of longitude spans 111320 times 0.79864, which is 88906 m. Six of those is 533436 m, or 533 km.

Measure the same thing properly, geodesically on the ellipsoid rather than with the cosine shortcut, and you get 534 km. The two agree to within a fifth of a percent, which is what you should expect from a flat approximation over that distance.

So a single wrong digit in a .prj puts your survey 534 km sideways with the latitude still correct and every shape still perfectly formed. Nothing looks broken. That is exactly why it survives review, and why the coordinate system line on this page is worth reading every time.

Null Island, and what a missing prj really costs

If the .prj is missing entirely, software has to assume something, and the usual assumption is that the numbers are degrees. An easting of 673513 is not a valid longitude, so most software clamps it, and the whole dataset collapses onto zero north, zero east. That point sits in the Gulf of Guinea, several hundred kilometres off the coast of Ghana, in about four kilometres of water.

So many datasets end up there that cartographers gave the spot a name, Null Island, and some basemaps quietly place a marker on it. If you have ever seen a stray point in the Atlantic off west Africa in someone else data, you have seen a missing .prj.

This tool does not pretend. A shapefile with no .prj is read as plain latitude and longitude, and it tells you in plain language that it has done so and that a wrong looking map is the reason why.

How the projection maths was checked

The transverse Mercator implementation is not checked against itself. It is tied to an independently verified geodesic distance solver: take two points on a central meridian two kilometres apart, and the grid distance divided by the true distance on the ellipsoid must equal the UTM scale factor exactly, 0.9996. It comes out at 0.999600000167, agreeing to about two parts in ten billion.

Round trips from degrees to UTM and back close to within 0.62 mm, tested across six sites on five continents including the southern hemisphere, where the false northing of ten million metres is applied. On top of that, a shapefile in UTM zone 12N built outside the browser is fed through this page and comes back to its original degrees within 2.3 nanodegrees, about a quarter of a millimetre.

Mistakes that catch people out

Sending the .shp without the .prj. The single most damaging omission in this whole format. Zip everything.

Assuming the .prj is correct because it exists. It is a text file someone or some software wrote, and it can be wrong. If the converted data lands somewhere implausible, compare the shape of the result against where you know the site is before blaming the tool.

Expecting a state plane or national grid to work everywhere. This tool handles WGS84, UTM, Web Mercator and general transverse Mercator. Lambert conformal conic, Krovak, and the many national systems built on them are refused by name. Reproject in your GIS first.

Forgetting that KML stores longitude first. Once converted, the coordinates tag reads longitude, then latitude, then height, which is the reverse of how people say it. This matters the moment you start editing the KML by hand.

Converting a mixed shapefile collection one file at a time and expecting one KML. Each shapefile becomes its own KML. Merge them afterwards in Google Earth if you want a single file, using folders to keep them apart.

Related Calculators and Reference

Converting out of GIS is usually one step in a longer job, either checking what you produced or getting the coordinates into a form you can set out from.