Anywhere on the map works. It opens in this tab and stays on your machine.
.geojson or .json. KML, GPX and CSV work too.
GeoJSON is ordinary JSON with a handful of rules about geometry bolted on. It started life around 2008 on a mailing list, written by people building web maps who had run out of patience with GML, and it only became a real standard in August 2016 as RFC 7946. Eight years of everyone agreeing informally, then a spec. That gap explains most of the weirdness you’ll meet.
A typical file is a FeatureCollection: a list of features, each with a geometry and a bag of properties. The geometry types are Point, LineString and Polygon, each with a Multi- version, plus GeometryCollection, which nests the others. Properties are whatever the author fancied. A council planning extract and a run exported from a watch can both be valid GeoJSON and have nothing else in common.
Being plain JSON is why it won, and also why files get hand-edited and quietly broken. If one won’t open here, a JSON linter usually finds the stray comma faster than you will.
Every coordinate is [longitude, latitude], in degrees, WGS84. That order trips up more people than everything else combined, because nearly every other place you meet a coordinate, from a phone to a postcode lookup, says latitude first. Swap them and London moves to Somalia.
Nothing here guesses. If your points land in the Gulf of Guinea off the coast of Africa, that’s the classic 0,0 signature of a bad parse; if they look mirrored about the equator, it’s a lat/lon swap. Silently flipping them for you would hide a bug in whatever wrote the file, and you’d hit it again next week.
RFC 7946 also removed the old crs member, so a conforming file is WGS84 degrees and nothing else. Plenty of exporters still write eastings and northings or Web Mercator metres into the same shape of file. Those numbers run into the hundreds of thousands, way past the ±90 a latitude can be, so they get filtered out and you get an empty map rather than a drawing smeared across the Antarctic. Reproject to EPSG:4326 and try again.
| In the file | On the map |
|---|---|
| FeatureCollection, a single Feature, or a bare geometry object | all three open |
| Point, MultiPoint | markers, one per coordinate |
| LineString, MultiLineString | lines, one per part |
| Polygon, MultiPolygon | outer ring only, one shape per part |
| Interior rings (holes) | dropped, so the hole fills in |
| GeometryCollection | flattened into its pieces |
| properties.name, .title or .label | becomes the shape label, first 60 characters |
| Any other property | dropped |
| A third number in a coordinate (elevation) | dropped |
| .geojson and .json | both read the same way |
| TopoJSON, line-delimited GeoJSON, Shapefile, GeoPackage | not read |
The holes row catches people. A polygon with a lake cut out of it arrives as its outer boundary alone, lake filled in. Better you know before you export than after you’ve sent the file on.
TopoJSON looks similar enough to fool you. It stores shared arcs and needs converting first; mapshaper does that in a couple of clicks. Shapefiles and GeoPackages need QGIS or ogr2ogr.
Once the file is drawn it behaves like anything else you’d sketch here. Pick Select, tap a shape, drag its vertices. Rename it, recolour it, delete the features you didn’t want. Undo is Ctrl/Cmd+Z and goes back a hundred steps.
Then take it out: GeoJSON again, KML if it’s going into Google Earth, GPX for a GPS unit, or CSV if all you need is a list of points. CSV only carries markers — a line has nowhere to live in two columns of coordinates.
Circles are the one oddity. GeoJSON has no circle type, so a circle drawn here goes out as a many-sided polygon with its centre and radius tucked into the properties. Reopen that file here and it’s a real circle again, resizable. Open it anywhere else and it’s a polygon, which is the right fallback.
The share link packs the whole drawing into the URL, so a shared map still doesn’t leave a copy on a server. The cost of that is a length limit. A dense file won’t fit, and you’ll be told so and pointed at the download instead.
There are at least nine free ones, several of them good. geojson.io has been around for a decade and does the job. We’re not going to pretend we’ve beaten the field.
Two things here are genuinely different, and they’re narrow. Your file never goes to a server: it’s read off disk by the browser and drawn with WebGL, and the only network traffic after the page loads is map tiles. For anything commercially sensitive, or anything you’d have to ask permission to upload, that distinction is the whole decision.
The second is that you can change the file. A lot of viewers render it and stop. Here you can drag the vertex that landed in the wrong field, strip the junk features, fix a name, then export the corrected file or hand someone a link to look at. Viewing and fixing in the same tab saves a round trip through QGIS for the small stuff.
Got a different format? KML viewer and GPX viewer are the same tool pointed at the same map.