More games at WuGames.ioSponsoredDiscover free browser games — play instantly, no download, no sign-up.Play

GeoJSON Viewer - View & Validate GeoJSON

Free GeoJSON viewer: validate RFC 7946 structure and visualize points, lines and polygons on an interactive map with a WGS84 bounding box readout.

Upload
Click or drag GeoJSON file here
JSON or GeoJSON format

What is GeoJSON?

GeoJSON is an open standard format for encoding geographic data structures using JSON (JavaScript Object Notation). It supports various geometry types including points, lines, polygons, and multi-part collections of these types.

GeoJSON is widely used in web mapping applications, GIS software, and location-based services. It's human-readable, easy to parse, and supported by most modern mapping libraries and tools.

Key features of GeoJSON:

  • Simple Format: Easy to read and write, based on JSON
  • Widely Supported: Compatible with Leaflet, OpenLayers, Google Maps, Mapbox
  • Rich Data: Can include properties and metadata for each feature
  • Standard Format: RFC 7946 specification ensures interoperability
  • Geometry Types: Points, LineStrings, Polygons, and their Multi- variants

GeoJSON is the preferred format for exchanging spatial data on the web, making it essential for modern web mapping applications.

GeoJSON Structure

A GeoJSON object can be one of several types:

  • FeatureCollection: A collection of Feature objects
  • Feature: A single geographic feature with geometry and properties
  • Geometry: A geometric shape (Point, LineString, Polygon, etc.)

Example GeoJSON structure:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [105.8342, 21.0278]
      },
      "properties": {
        "name": "Hanoi",
        "population": 8000000
      }
    }
  ]
}

Each feature can have a geometry object defining its shape and location, plus a properties object containing any additional data.

Geometry Types in GeoJSON

GeoJSON supports these geometry types:

  • Point: Single location [longitude, latitude]
  • LineString: Array of two or more positions forming a line
  • Polygon: Array of linear rings (closed LineStrings)
  • MultiPoint: Array of Point coordinates
  • MultiLineString: Array of LineString coordinate arrays
  • MultiPolygon: Array of Polygon coordinate arrays
  • GeometryCollection: Array of geometry objects

Note: Coordinates are always in [longitude, latitude] order, which is opposite of the common latitude, longitude order.

Common Uses of GeoJSON

GeoJSON is used in many applications:

  • Web Mapping: Display geographic features on interactive maps
  • Data Visualization: Choropleth maps, heat maps, marker clusters
  • GIS Analysis: Import/export data between different GIS systems
  • Location Services: Store and query spatial data in databases
  • Open Data: Government and organizations publish geographic datasets
  • Mobile Apps: Offline map data and custom overlays

GeoJSON vs Other Formats

Comparison with other geographic formats:

  • vs Shapefile: GeoJSON is text-based and web-friendly, Shapefile is binary and requires multiple files
  • vs KML: GeoJSON is simpler and faster to parse, KML supports more styling options
  • vs GPX: GeoJSON is more flexible for various geometries, GPX is specialized for GPS tracks
  • vs TopoJSON: GeoJSON is easier to use, TopoJSON is more compact for large datasets

Choose GeoJSON when you need a simple, widely-supported format for web applications and don't require advanced features like topology encoding.

Frequently Asked Questions

Paste, upload, or drag-and-drop any RFC 7946 GeoJSON document and the tool renders it on an interactive Leaflet map using an OpenStreetMap basemap. Points, LineStrings, Polygons, their Multi- variants, GeometryCollections, Features, and FeatureCollections are all supported. The map automatically zooms to fit your data, you can click any feature to read its properties in the panel below, and a summary shows the object type, feature count, a breakdown of geometry types, and the dataset's bounding box. Everything runs entirely client-side; no data is uploaded. Typical uses are sanity-checking a GeoJSON export from PostGIS, previewing API responses during web-map development, and quick spot-checks while cleaning data.

It does three things: validate that your input is structurally well-formed GeoJSON (correct type, a features array for a FeatureCollection, geometry present on each Feature), pretty-print/format the JSON, and visualize the geometries on an OSM Leaflet map with a property inspector and a computed bounding box. It uses default Leaflet styling (blue lines/polygons, orange point markers) on a single OpenStreetMap basemap. It does not cluster or simplify large datasets, does not read Mapbox Simplestyle properties, does not repair polygon winding, does not toggle satellite/terrain/dark basemaps, and does not export to KML, GPX, shapefile, or other formats. Keeping the feature list honest is intentional: what you see described here is exactly what the tool delivers.

WGS84 longitude-latitude (EPSG:4326), the only CRS permitted by RFC 7946. Coordinates must be decimal degrees with longitude (X) first and latitude (Y) second. If your data is in a projected CRS such as UTM, Web Mercator (EPSG:3857), or a national grid, the geometry will land in the wrong place on the basemap (typically near 0,0 or off the visible map). The bounding box readout is the fastest way to catch this: if the values fall outside -180..180 longitude or -90..90 latitude, your data is not in WGS84. Reproject the source to WGS84 first with QGIS, ogr2ogr, or a coordinate converter.

GeoJSON positions are written as [longitude, latitude] — X then Y — which is the opposite of the [latitude, longitude] order people usually say out loud and that many web APIs accept. So Hanoi is [105.8342, 21.0278], not [21.0278, 105.8342]. If you accidentally swap them, your points appear in the wrong hemisphere (here, off the coast of Somalia near the equator). When something renders in an obviously wrong location, swapping the two numbers is the first thing to check. The viewer always interprets the first number as longitude, per RFC 7946.

After you Visualize, the summary panel shows the dataset's total extent as West (minimum longitude), South (minimum latitude), East (maximum longitude), and North (maximum latitude), plus a one-click-copyable RFC 7946 bbox array in [west, south, east, north] order. This bbox is the single most reused piece of GeoJSON metadata: paste it into a map's fitBounds/setView, into a PostGIS query as ST_MakeEnvelope(west, south, east, north, 4326), or into a WMS/WFS request as BBOX=west,south,east,north. It is computed from Leaflet's getBounds() over all rendered geometry, rounded to six decimal places (roughly 0.1 m precision).

Yes. The entire GeoJSON is parsed, validated, formatted, and rendered in your browser; no part of it is uploaded to any server. You can confirm this in your browser's developer-tools network tab: while you load and interact with your data the only outgoing requests are for OpenStreetMap basemap tiles, which reveal only which map area you are looking at, not the contents of your features. That makes the tool safe for reviewing sensitive or unpublished location data.

Validation checks the structure required by RFC 7946: the object must have a recognized type (Point, LineString, Polygon, the Multi- variants, GeometryCollection, Feature, or FeatureCollection); a FeatureCollection must contain a features array, and an empty one is reported as having no features; each item in a FeatureCollection must be a Feature with a geometry; a Feature must have a geometry; and a bare geometry must have a coordinates member. If parsing fails outright you get an invalid-JSON error instead — run the input through the Format button to spot the syntax problem, such as a trailing comma or unquoted key.
GeoJSON Viewer - View & Validate GeoJSON — Free GeoJSON viewer: validate RFC 7946 structure and visualize points, lines and polygons on an interactive map with a W
GeoJSON Viewer - View & Validate GeoJSON