GeoJSON Viewer & Validator

GIS & Geography Tools

Paste GeoJSON to see it drawn on an interactive map. The viewer checks that your input is valid JSON and that its type is one of the nine GeoJSON types defined in RFC 7946, then formats it with indentation. Supports Point, LineString, Polygon, their Multi- variants, GeometryCollection, Feature and FeatureCollection.

GeoJSON Guide

How to Use

Paste your GeoJSON into the text area and press View GeoJSON. Valid input is drawn on the map and reformatted with two-space indentation. If the input is not valid JSON, the parser error is shown together with the position of the problem. If it parses but its type is not a GeoJSON type, a type error is shown instead. Your input is never cleared, so you can fix it in place.

The Nine GeoJSON Types

Point

A single position.

{ "type": "Point", "coordinates": [139.7, 35.68] }

MultiPoint

An array of positions.

{
  "type": "MultiPoint",
  "coordinates": [[139.7, 35.68], [135.5, 34.7]]
}

LineString

Two or more positions forming a line.

{
  "type": "LineString",
  "coordinates": [[139.7, 35.68], [135.5, 34.7]]
}

MultiLineString

An array of LineStrings.

{
  "type": "MultiLineString",
  "coordinates": [[[139.7, 35.68], [135.5, 34.7]]]
}

Polygon

One or more closed rings. The first ring is the outer boundary, any others are holes.

{
  "type": "Polygon",
  "coordinates": [
    [
      [139.7, 35.6], [139.8, 35.6],
      [139.8, 35.7], [139.7, 35.6]
    ]
  ]
}

MultiPolygon

An array of Polygons.

{
  "type": "MultiPolygon",
  "coordinates": [
    [
      [
        [139.7, 35.6], [139.8, 35.6],
        [139.8, 35.7], [139.7, 35.6]
      ]
    ]
  ]
}

GeometryCollection

A collection of geometries of mixed types.

{
  "type": "GeometryCollection",
  "geometries": [
    { "type": "Point", "coordinates": [139.7, 35.68] }
  ]
}

Feature

A geometry paired with a properties object.

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [139.7, 35.68]
  },
  "properties": { "name": "Tokyo" }
}

FeatureCollection

An array of Features. The most common top-level type for real data.

{ "type": "FeatureCollection", "features": [] }

Tips

  • Most syntax errors come from a trailing comma, single quotes instead of double quotes, or unquoted keys. The error message reports the character position, so start reading there.
  • If a shape is drawn somewhere unexpected, suspect the coordinate order before the data itself.
  • Paste one FeatureCollection rather than checking features one at a time — it renders in a single pass.
  • Data in a projected system, such as plane rectangular coordinates, has to be converted before it will land in the right place.
  • This tool checks syntax and type only. Coordinate ranges and ring winding order are not inspected.

Glossary

RFC 7946
The specification that defines GeoJSON. It fixes the coordinate reference system to WGS84 and the coordinate order to longitude then latitude, and defines exactly nine types. Earlier documents written against the 2008 draft may use other coordinate systems.
Position
A single coordinate, written as an array of longitude and latitude, optionally followed by an elevation. Every geometry in GeoJSON is built from positions, which is why a mistake here shifts the whole shape.
GeometryCollection
A geometry that holds other geometries of mixed types in a "geometries" array. Unlike a FeatureCollection it carries no properties, so it describes shapes without attributes.
Syntax validation and semantic validation
Syntax validation asks whether the text parses and whether the type is one this format defines. Semantic validation asks whether the values make sense — coordinates inside valid ranges, rings that close, winding order. This tool performs the former.

FAQ

Q: Is the GeoJSON I paste sent to a server?
A: No. Parsing, validation and rendering all happen in your browser. Nothing is sent to a server, so you can paste data you are not allowed to share.
Q: Why do I get "Valid JSON, but not GeoJSON"?
A: Your input parsed correctly as JSON, but its "type" field is missing or is not one of the nine GeoJSON types. A plain object such as {"a":1} is valid JSON and still not GeoJSON.
Q: Does it validate against RFC 7946 completely?
A: No. It checks that the input is valid JSON and that its type is one of the nine GeoJSON types. It does not check coordinate ranges, ring winding order or the bbox member, so a document can pass here and still be rejected by a stricter validator.

Related Tools & Games