GeoJSON Viewer

View and visualize GeoJSON files on an interactive map. Paste or upload your GeoJSON data to see it rendered instantly.

Skip to the tool

A GeoJSON viewer is the fastest way to confirm that a file decodes correctly and that the coordinates land where you expected them to. Most bugs in spatial data — swapped lat/lng, empty geometries, off-by-one polygon rings — show up as a misplaced marker or a missing shape on a map long before they show up in code review.

Paste any FeatureCollection, Feature, or bare Geometry into the input on the left. The map on the right re-renders on every keystroke, auto-fits to the data's bounding box, and keeps a pop-up of every feature's properties one click away. Nothing is uploaded — parsing and rendering happen in your browser tab.

After you've confirmed the geometry looks right, scroll past the map for worked examples, the keyboard shortcut list, and notes on the failure modes that catch most people: coordinate order, holes that overlap their exterior ring, and the size limits Leaflet starts struggling with. The deep guidance lives in What is GeoJSON? and the debugging guide.

How to Use the GeoJSON Viewer

Paste or upload your GeoJSON data into the input panel and it will be rendered instantly on the interactive map. You can zoom, pan, and click on features to inspect their properties. The viewer supports all GeoJSON geometry types including Point, LineString, Polygon, and their Multi variants.

You can also drag and drop .geojson or .json files directly onto the input area. There is no file size limit enforced by the viewer itself, though very large files (over 50 MB) may cause your browser to slow down.

Example GeoJSON

Try pasting this sample into the viewer to see it in action:

GeoJSON{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": { "name": "Empire State Building" },
      "geometry": {
        "type": "Point",
        "coordinates": [-73.9857, 40.7484]
      }
    }
  ]
}

What Can You Visualize?

  • Points — markers for locations such as addresses, landmarks, or sensor stations
  • LineStrings — paths like roads, rivers, hiking trails, or transit routes
  • Polygons — areas such as parcels, building footprints, city boundaries, or flood zones
  • FeatureCollections — groups of mixed geometry types displayed together on a single map

Common Use Cases

Developers and GIS analysts use GeoJSON viewers to quickly sanity-check data before loading it into a database or sending it to an API.

Previewing geocoding results — After batch-geocoding a list of addresses, paste the resulting GeoJSON into the viewer to verify that all points land where expected. Geocoding services occasionally return coordinates in the wrong city or country, and a visual check catches these errors faster than scanning a table of numbers.

Inspecting API responses — Services like Mapbox, Google Maps, and Overpass return GeoJSON (or GeoJSON-like) payloads. Paste the response body directly into the viewer to confirm the geometry type, coordinate order, and property structure before writing parsing code.

Debugging coordinate order — GeoJSON mandates [longitude, latitude], but many APIs and spreadsheets use [latitude, longitude]. If your points appear in the ocean or on the wrong continent, the coordinates are likely swapped. Runturf.flip() over the FeatureCollection or fix the upstream source so it emits longitude first.

Reviewing GIS exports — Data exported from QGIS, PostGIS, or converted from Shapefiles can have subtle issues like missing properties, extra nesting, or incorrect winding order. Viewing the data on a map reveals these problems immediately.

Try It

Paste this FeatureCollection containing three well-known landmarks into the viewer. You should see three markers appear on the map, each clickable to reveal its properties:

GeoJSON{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": { "name": "Empire State Building", "height_m": 443 },
      "geometry": {
        "type": "Point",
        "coordinates": [-73.9857, 40.7484]
      }
    },
    {
      "type": "Feature",
      "properties": { "name": "Statue of Liberty", "height_m": 93 },
      "geometry": {
        "type": "Point",
        "coordinates": [-74.0445, 40.6892]
      }
    },
    {
      "type": "Feature",
      "properties": { "name": "Golden Gate Bridge", "length_m": 2737 },
      "geometry": {
        "type": "Point",
        "coordinates": [-122.4783, 37.8199]
      }
    }
  ]
}

The map auto-fits to show all three features. Click any marker to see the properties panel populate with the name, height_m, or length_m fields. The two NYC points cluster together on the east coast, while the Golden Gate Bridge appears on the west coast — confirming the coordinates are in the correct [longitude, latitude] order.

Keyboard Shortcuts

The viewer supports keyboard shortcuts for faster navigation:

  • Ctrl + V — paste GeoJSON from clipboard into the input panel
  • Ctrl + C — copy the current GeoJSON from the input panel
  • + / - — zoom in and out on the map
  • Arrow keys — pan the map in the corresponding direction
  • Shift + drag — draw a rectangle to zoom into a specific area
  • Ctrl + Shift + F — fit the map to the bounds of all features

On macOS, use Cmd instead of Ctrl. These shortcuts work whenever the map panel has focus. Click the map once to ensure it is focused before using keyboard navigation.

Tips for Working with GeoJSON Data

GeoJSON coordinates are always in [longitude, latitude] order per the RFC 7946 specification. If your points appear in the wrong location, the coordinates may be swapped — reverse every pair withturf.flip() or a short recursive walker.

For large datasets, consider simplifying the geometry first to improve rendering performance. You can also validate your data to catch structural issues before visualization.