Free · No signup required

    GeoJSON Validator

    Paste GeoJSON and get a plain-English list of what is wrong with it — syntax, geometry structure, ring closure and out-of-range coordinates.

    Paste or upload GeoJSON to see the validation report.

    What actually breaks a GeoJSON file

    In practice almost every broken file falls into one of four buckets. First, plain JSON syntax — a trailing comma from a hand edit, or a file truncated mid-download. Second, structural: a FeatureCollection with no features array, or objects with type "feature" in lowercase. Third, coordinate order and range: numbers like 512340 2601880 are metres in a projected system, not degrees, and no map library will draw them where you expect. Fourth, polygon rings that are not closed, which some renderers tolerate silently and others reject outright.

    Errors versus warnings

    Errors mean the file violates the GeoJSON specification and will fail in strict tools such as PostGIS, GDAL or Mapbox uploads. Warnings mean the file will probably render, but something is unusual and worth a look: an empty collection, a null geometry, a missing properties member, or a ring whose first and last position differ. A file with only warnings is usually safe to use.

    • Error: coordinates outside longitude ±180 or latitude ±90
    • Error: a ring with fewer than four positions
    • Error: an unrecognised geometry type
    • Warning: unclosed ring — first and last position should match
    • Warning: feature with a null geometry, which will not draw

    The coordinate-order trap

    GeoJSON stores positions as [longitude, latitude]. Nearly every other context — Google Maps URLs, GPS readouts, the way people speak — puts latitude first. Swapped axes are hard to spot because the file is perfectly valid; the shapes simply appear in the wrong hemisphere. If the validator reports no errors but the geometry lands in the ocean, swap the pairs and try again.

    Privacy and file size

    Validation runs entirely in your browser using the standard JSON parser, so nothing is uploaded and nothing is stored. That also means very large files (tens of megabytes) are limited by your machine rather than a server quota — if the tab struggles, simplify the geometry first or validate a sample of the features.

    Free version

    • JSON syntax errors with a readable explanation
    • Checks every geometry type and coordinates array
    • Flags unclosed polygon rings and short rings
    • Detects projected coordinates masquerading as WGS84

    With a GeoDataMapper account

    • Auto-repair rings, winding order and null geometries
    • Validate on upload as part of a data pipeline
    • Batch-check whole folders of files
    • Validation as a step in the public API
    Create free account

    Frequently asked questions

    Does it check topology, like self-intersecting polygons?

    No. It checks structure, geometry types, coordinate validity and ring closure. Self-intersection and overlap checks need a full topology engine such as PostGIS or QGIS.

    Why does it warn about unclosed rings if my map still works?

    Leaflet and Mapbox close rings for you. GDAL, PostGIS and strict validators do not, so the same file can work in a browser and fail on import.

    What does "outside WGS84 range" mean?

    Your coordinates are almost certainly projected — UTM, Web Mercator metres, or a national grid. Reproject to EPSG:4326 before using them as GeoJSON.

    Is a FeatureCollection required?

    No. A bare Feature or a bare geometry is valid GeoJSON, and this validator accepts all three.

    Is my data sent to a server?

    No. Everything happens locally in the browser.

    More free GIS tools

    Guides worth reading next