gizmobench

KML, GPX and GeoJSON Viewer

Open a KML, KMZ, GPX or GeoJSON file and its points, lines and polygons are drawn on a plain grid labeled in degrees of longitude and latitude, each KML folder a layer you can hide, with a filter by name or property value, a table of the shown features and every property of the one you select. The file is read on your device and nothing it points at is fetched, so NetworkLinks, remote icons and DTDs are listed as blocked instead of loaded, and there is no basemap under the drawing, only your coordinates. Export the shown features as GeoJSON, KML or GPX: longitude stays before latitude, and polygon holes stay holes.

Drop a KML, KMZ, GPX or GeoJSON file

One file up to 25 MB, read on this device, or

Read on this deviceLinks in the file never fetchedNo basemapNo sign-up

Features
waiting
Longitude
waiting
Latitude
waiting
Blocked
waiting

Open a file to draw it, read its properties or convert it.

Files up to 25 MB are read in this tab and never uploaded; the KML inside a KMZ may unpack to 25 MB too. One file may hold up to 100,000 features and 2,000,000 positions. The drawing is equirectangular, scaled at the middle latitude of the view; the scale bar is measured on a sphere of radius 6,371 km (the mean Earth radius), true north to south everywhere and east to west along that middle latitude. This browser remembers only whether point names are on and whether coordinates show as decimals or DMS.

Try the edge cases

Three small KML files written for this page. Each goes through the same reader as a file of your own.

  • A point at longitude -73, latitude 40KML coordinates -73,40
    GeoJSON [-73, 40]; GPX lat="40" lon="-73"; shown as longitude -73, latitude 40, never swapped
  • A polygon with one holeKML to GeoJSON and back to KML
    outer ring and hole each keep their 5 positions, and the hole is still a hole
  • A NetworkLink, a DTD and a remote iconall three in one KML
    none is fetched or expanded; each is listed as blocked and the rest of the file still draws
Accuracy. There is no basemap and no place-name lookup: only the coordinates in your file are drawn, as WGS84 longitude and latitude on a plain labeled grid. Nothing checks those coordinates against the ground, so they are not verified for navigation. GeoJSON and KML exports write each coordinate exactly as it was read, to double precision.

Common questions

Can I open a KMZ file?
Yes. A KMZ is a ZIP archive holding a KML file. This viewer unpacks doc.kml, or the first .kml listed when there is no doc.kml, on your device, and says how many other KML files it left unread. Icons and pictures packed alongside it are not drawn. A KMZ over 25 MB, or one whose KML is recorded as more than 25 MB, is refused before anything is unpacked, and unpacking stops if the KML grows past the size its archive records.
Why is there no map under my data?
The drawing has no basemap: no map tiles or satellite images are loaded and no place names are looked up. Only the coordinates in your file are drawn, on a grid labeled in degrees of longitude and latitude, with a scale bar measured on a sphere of radius 6,371 km. The page says so on the drawing itself.
What happens to NetworkLinks, remote icons and DTDs in a KML?
None of them is fetched. NetworkLinks, remote icons and remote images are counted, and up to 20 of their addresses are listed as plain text. A DOCTYPE is cut out before the file is parsed, so the entities it declares are never expanded, and entity references are shown as written. The rest of the file is still drawn, and no export carries those links or icons onward. An image address written inside a description stays in that description's text in every export.
How do I convert KML to GeoJSON or GPX?
Open the KML, choose the layers, kinds and filter you want, then press GeoJSON, KML or GPX under Export the shown features. GeoJSON keeps every property and coordinate as read. GPX has no polygons: a feature made only of polygons is left out of a .gpx, a feature that also has a point or a line, such as a labeled polygon, keeps only its points and lines, and the page says how many of each. GPX keeps name, comment, description, source, link, number, symbol, type and waypoint time, and the other properties go only to GeoJSON and KML.
Does it keep longitude and latitude in the right order?
Yes. KML writes longitude,latitude, GeoJSON writes [longitude, latitude] and GPX uses lat and lon attributes. A point at longitude -73, latitude 40 exports as [-73, 40] in GeoJSON and lat="40" lon="-73" in GPX. Positions whose numbers cannot be longitude and latitude, such as UTM or Web Mercator metres, are refused, as is GeoJSON that declares another coordinate system.
How large a file can it open?
Files up to 25 MB, holding up to 100,000 features and 2,000,000 positions. A file past those limits is refused with the reason. Split a larger file into smaller files and open them one at a time.
Is my file uploaded?
No. The file is read in this browser tab and never sent anywhere, and it is not stored. This browser keeps only two display settings: whether point names are shown on the drawing, and whether coordinates show as decimal degrees or degrees, minutes and seconds.

There is no basemap and no place-name lookup: only the coordinates in your file are drawn, as WGS84 longitude and latitude on a plain labeled grid. Nothing checks those coordinates against the ground, so they are not verified for navigation. GeoJSON and KML exports write each coordinate exactly as it was read, to double precision.