GeoJSON Viewer — View & Inspect GeoJSON Online
Drag any .geojson or .json file onto the map. Features render instantly with auto-fit bounds, click-to-inspect properties, layer toggles, and one-click conversion to KML. Worldwide — all parsing happens in your browser. No signup, no upload, no API key.
The GeoJSON Viewer parses your file with native JSON.parse, validates the structure against RFC 7946, and renders the result with MapLibre GL JS. It accepts a full FeatureCollection, a single Feature, or a bare Geometry. Loaded data can be exported back to GeoJSON (re-formatted) or converted to OGC KML 2.2 with names and properties preserved.
.geojson file anywhere in this box, or use the controls above. Max file size 8 MB. Files are parsed locally — nothing is uploaded.- Drag a file into the dashed box
- Or paste raw text and click Render this text
- Or click a sample chip above
How to use the GeoJSON Viewer
- Drag your .geojson file onto the map. Drop the file anywhere in the dashed input zone, paste raw JSON into the text box, fetch from a public URL, or click "Upload file" to pick it from a folder. The viewer accepts FeatureCollection, single Feature, or bare Geometry — and any extension (.geojson, .json, .topojson is not supported but plain GeoJSON-as-.json works).
- See every Feature on the map. Point geometries become green dots (with labels if a "name" property exists), LineString and MultiLineString become teal paths, and Polygon and MultiPolygon become a blue fill with a darker outline. The map auto-fits to the bounding box of every feature.
- Click a feature for properties. Click any feature in the sidebar or directly on the map to highlight it red and pop the properties table at the bottom of the tool. Every property is shown — strings, numbers, and JSON-encoded sub-objects all included. Use the filter toggles to hide a geometry group while inspecting another.
- Export, convert, or grab the bbox. The bottom-right export row downloads a fresh GeoJSON, converts the file to KML, converts to GPX (for Garmin, Strava, or any GPS device), or copies the compact JSON to your clipboard. The bbox is shown in the stats block — click "Copy" to put the four-number string (west, south, east, north) on your clipboard for use in any GIS tool.
What people use the GeoJSON Viewer for
Inspect a GeoJSON before you wire it into a web map
You have a GeoJSON file ready to drop into a Leaflet or MapLibre app and you want to confirm the geometry, property names, and bbox before writing the source code. Drop the file here, scroll the feature list, click a few features to inspect properties, and you have a complete mental model in 30 seconds.
Convert GeoJSON to KML for Google Earth or Garmin
Most modern data sources publish GeoJSON, but Google Earth Pro, Garmin BaseCamp, and older GPS units still want KML. Drop the .geojson here, click "⬇ KML," and you have a clean OGC KML 2.2 file with names and properties preserved as Placemark <name> and <ExtendedData>.
Audit a city or county boundary file
OpenStreetMap, the US Census TIGER files, and Natural Earth all publish boundaries as GeoJSON. This viewer renders them on an OSM basemap so you can quickly check that the polygon has the right number of rings (no overshoots), the bbox makes sense, and the metadata properties contain the fields your app expects.
Visualise an Overpass API or Wikidata export
Overpass Turbo exports query results as GeoJSON. Wikidata SPARQL results can be coerced to GeoJSON via tooling. Both produce files with rich property bags — drop into this viewer to see every result on a map and click through to read every property of every feature.
Trace a hiking, biking, or vehicle GPS route
Strava, Garmin Connect, Wahoo, and most modern GPS apps either export GeoJSON directly or have GPX-to-GeoJSON converters. Drop the route into this viewer to verify the LineString is intact, the bbox covers the right region, and any waypoint Points are correctly labelled.
Pre-flight checks for an ArcGIS or QGIS export
When ArcGIS Pro or QGIS export GeoJSON, occasionally the CRS is wrong (not EPSG:4326), the property names get truncated, or a Polygon ends up missing its closing point. This viewer is a quick sanity check — if it renders here, it will render in any modern web mapping library.
GeoJSON format reference
The minimal valid GeoJSON file is a FeatureCollection containing one or more Feature objects. Each Feature wraps a Geometry (one of the seven RFC 7946 types) plus a free-form properties bag. Coordinates are always [longitude, latitude] in WGS84 (EPSG:4326).
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": { "name": "Golden Gate Bridge", "year": 1937 },
"geometry": {
"type": "Point",
"coordinates": [-122.4783, 37.8199]
}
},
{
"type": "Feature",
"properties": { "name": "Bay Bridge route" },
"geometry": {
"type": "LineString",
"coordinates": [
[-122.388, 37.808],
[-122.302, 37.798]
]
}
}
]
}The type field is required at every level. Polygons are arrays of linear rings (the first is the outer boundary, the rest are holes); each ring must be a closed array (first and last point equal). MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection let you bundle multiple shapes into a single feature.
Supported types
- FeatureCollection — the standard top-level container.
- Feature — wraps a Geometry plus a properties bag.
- Geometry types — Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.
- Bare Geometry objects (no Feature wrapper) — auto-wrapped on load.
- 3D coordinates ([lng, lat, altitude]) — altitude preserved through KML export.
Common pitfalls
- Coordinate order — [longitude, latitude] is correct. If your data was published as [lat, lng] (a common WMS bug) the features land on the wrong side of the planet. Swap with a regex first.
- Wrong CRS — GeoJSON requires EPSG:4326. Files with projected coordinates (UTM, Web Mercator metres, State Plane) will land near 0,0 in the Gulf of Guinea. Reproject in QGIS or ogr2ogr first.
- Open polygon rings — RFC 7946 requires the first and last points of every ring to be equal. The viewer is lenient about this on ingest, but some downstream tools are strict.
- NaN / Infinity — these are not valid JSON. If your file fails to parse, the most common cause is a NaN literal where a coordinate should be.
GeoJSON vs KML — which should you use?
GeoJSON is the modern web-mapping standard: every JS mapping library consumes it natively, it is JSON (so any backend can produce it), and the spec (RFC 7946) is concise. KML is the Google Earth / GPS-device standard: XML, richer animation and camera support, but heavier and less common on the web. Convert between the two in one click using this viewer — load GeoJSON and export KML, or visit the KML Viewer and go the other direction.
Related geographic-data tools
For KML files: KML Viewer. For GPX tracks from Strava, Garmin, AllTrails, or Komoot: GPX Viewer. For plotting a CSV of coordinates: CSV to Map. For dropping pins by hand: Pin Drop Map. For US ZIP codes as data points: Map with ZIP Codes. For US county choropleths: Map with Counties. For drawing geometries by mouse: Map Drawer.
Frequently asked questions
Parser is the browser's native JSON.parse plus a custom validator against RFC 7946. Permissive on ingest (older GeoJSON spec accepted, antimeridian and right-hand-rule violations tolerated), strict on export. Rendering by MapLibre GL JS 5.x using a single GeoJSON source feeding four layers (fill, polygon outline, line, circle) plus a symbol layer for Point labels. Base map: OpenFreeMap Liberty — vector tiles derived from OpenStreetMap (© OSM contributors, ODbL). Nothing about your file is uploaded — files are read via FileReader, parsed locally, and rendered to MapLibre without touching a server.
More SimpleMapLab tools
Open a .kml file on the map — view, inspect, convert to GeoJSON or GPX.
Drag a .gpx from Strava, Garmin, or AllTrails — tracks, waypoints, stats.
Plot a CSV of lat/lng on an interactive map — color by category.
Drop up to 100 pins with notes, colors, and CSV/GeoJSON/KML export.