Skip to content
{}

GeoJSON Viewer

Draw a .geojson file, check it against RFC 7946, and catch swapped coordinates before they reach a map.

0 chars | 1 lines
0 chars | 0 lines

Conversion payloads stay in this browser tab and are never placed in page URLs - see how local processing works. Privacy-safe analytics record only the tool, outcome, and a coarse input-size bucket.

How to view a GeoJSON file

Open or drop a .geojson file. It is parsed locally, walked feature by feature, and drawn as SVG fitted to its own extent. You get the root type, feature and coordinate counts, a count per geometry type, the bounding box, a profile of every property key with how many features carry it, and a validation list. Hover any feature in the list to highlight it in the preview.

The coordinate order rule that causes most bugs

GeoJSON positions are ordered [longitude, latitude, elevation?] — x, then y. This is deliberate and consistent with the rest of computer graphics, and it is the reverse of the "lat, long" order people use in conversation, in Google Maps URLs, and in several PostGIS and MongoDB helper functions. The failure mode is quiet: swap them and London (-0.13, 51.51) becomes (51.51, -0.13), which is a valid position in the Indian Ocean rather than an error. This viewer treats a second value outside ±90 as a suspected swap, which catches the mistake for anything outside the tropics but cannot catch it near the equator — there, the only defence is checking the preview against a place you recognise.

What RFC 7946 changed

The 2016 specification tightened the 2008 draft in ways that still trip up older exports. Coordinates are always WGS 84 (EPSG:4326) and the crs member is gone. Polygons must follow the right-hand rule — exterior rings counter-clockwise, holes clockwise — and rings must be closed, with the last position identical to the first. Geometries crossing the antimeridian should be cut into two. Top-level bbox members are allowed but advisory. Readers vary in how strictly they enforce any of this, which is why a file that renders in one tool can silently fill the whole map in another.

InputOutputNote
"coordinates": [-0.13, 51.51]LondonCorrect: longitude first.
"coordinates": [51.51, -0.13]Indian OceanSwapped. Valid GeoJSON, wrong place.
"crs": {"name": "EPSG:3857"}WarningRemoved by RFC 7946; values are probably metres.
"geometry": nullFeature counted, nothing drawnLegal — a feature with attributes but no location.

GeoJSON, TopoJSON, and Shapefiles

GeoJSON is plain JSON, so any JSON tool works on it, at the cost of repeating shared borders in adjacent polygons and repeating every property key on every feature. TopoJSON removes that duplication by storing shared arcs once, producing files several times smaller, but it is not readable by a plain GeoJSON reader without conversion. Shapefiles are a binary multi-file format from the early 1990s that remains the lingua franca of desktop GIS, with a 2GB limit and 10-character field names. If you are choosing a format for a web map, GeoJSON is usually right until file size becomes the problem, at which point TopoJSON or vector tiles are the next step.

Frequently Asked Questions

Does this upload my GeoJSON anywhere?

No, and it does not request a basemap either. The geometry is drawn as inline SVG from your own coordinates, so no tile server ever learns what you opened or roughly where it is. That is the difference from a map-library viewer, which necessarily tells a tile provider your bounding box.

Why does my data appear in the wrong place?

Almost always because latitude and longitude are swapped. GeoJSON positions are [longitude, latitude] — the opposite order from how people say coordinates aloud and from what several database drivers return. The viewer flags any pair whose second value is outside ±90, which catches the swap whenever the data is far enough from the equator.

What projection does the preview use?

Equirectangular, scaled to fit the data's own bounding box. It is a sanity check, not a cartographic product: shapes far from the equator look horizontally stretched compared with the Web Mercator you see in most map apps. Use it to confirm the data is where you expect and has the shape you expect.

My file has a crs member. Is that a problem?

It is a warning sign. RFC 7946 removed crs in 2016 and fixed the coordinate system as WGS 84 longitude/latitude. Files still carrying a crs member are usually exports in a projected system such as EPSG:3857 or a national grid, and the coordinate values will be metres rather than degrees. Reproject before using them, because most modern readers will ignore the member and treat the numbers as degrees.

Which GeoJSON types are supported?

All seven geometry types — Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, and GeometryCollection — plus Feature and FeatureCollection roots, and a bare geometry object as the root. Features with null geometry are accepted and reported, since that is valid GeoJSON that simply draws nothing.

Is my data uploaded anywhere?

No. The conversion runs in JavaScript inside the page you already downloaded. There is no upload endpoint on this site, nothing is written into the URL, and closing the tab discards everything. Analytics record the tool name, whether the run succeeded, and a coarse size bucket — never the content.

Related Tools