GeoJSON Viewer & Map Inspector
Drag, drop, or paste GeoJSON data to visualize Point, LineString, Polygon, and MultiPolygon geometries on MapLibre. Inspect feature properties, bounding box extents, and geometry counts.
GEOJSON File Inspector & Map Viewer
Rendered 2 spatial features, 1 points, and 0 paths.
How to use the GeoJSON viewer
- 1Paste or drop GeoJSON
Paste GeoJSON text or drop a .geojson file.
- 2Render the features
Points, lines and polygons are drawn on the map in your browser.
- 3Inspect properties
Click a feature to read its properties and see the bounding box of the data.
What Is GeoJSON?
First conceptualized in 2008 and formally codified by the Internet Engineering Task Force (IETF) in August 2016 as RFC 7946, GeoJSON is the lingua franca of geospatial data interchange across the modern web. Built directly upon JavaScript Object Notation (JSON), it allows geographic geometries and arbitrary non-spatial attributes to be transmitted, parsed, and rendered natively within web browsers.
A compliant RFC 7946 document organizes geographic reality into three hierarchical tiers:
- Geometry Objects: Pure geometric constructs defining spatial topology (Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection).
- Feature Objects: Binds a single geometry to an arbitrary dictionary of key-value attributes (stored in the
propertiesobject) and an optional uniqueid. - FeatureCollection: The top-level array container wrapping an arbitrary number of Feature objects, serving as the standard file format for entire GIS layers.
GeoJSON Geometry Types: Point, LineString, Polygon
Understanding the nesting depth of coordinate arrays is vital when inspecting or manipulating GeoJSON structures:
Linear Rings in Polygons
A Polygon consists of an array of linear rings. A linear ring is a closed LineString with 4 or more positions, where the first and last positions are identical. The first ring is always the exterior boundary; any subsequent rings represent interior holes (such as an island within a lake).
Strict [Longitude, Latitude] Coordinate Order
RFC 7946 strictly mandates that coordinates be ordered as [easting, northing], which for geographic coordinates means [longitude, latitude, elevation]. Passing latitude first violates the standard and breaks spatial rendering.
Polygon Winding Order and the 180th Meridian
RFC 7946 introduced strict topological requirements that distinguish modern GeoJSON from legacy 2008 implementations:
- The Right-Hand Rule (Winding Order): In RFC 7946, polygon linear rings must follow the right-hand rule: as you walk along the boundary in the order of the coordinates, the exterior polygon interior must be on your left. This means exterior rings must wind counter-clockwise, while interior hole rings must wind clockwise.
- Antimeridian Cutting: Features that cross the 180th meridian (such as Fiji, Russia's Chukotka peninsula, or the Aleutian Islands) must not draw a straight coordinate jump from +179° to -179°, which would render a streak across the entire globe. Instead, geometries must be cleanly split at the antimeridian into a MultiPolygon with boundaries stopping at +180° and resuming at -180°.
How Polygon Area Is Calculated (Shoelace Formula)
When inspecting a GeoJSON polygon, GIS engines verify coordinate closure and compute planar surface area using Gauss's celebrated Shoelace Formula (Surveyor's Formula):
A = \frac{1}{2} \left| \sum_{i=1}^{n-1} (x_i y_{i+1} - x_{i+1} y_i) \right| = \frac{1}{2} |(x_1 y_2 + x_2 y_3 + \dots + x_n y_1) - (y_1 x_2 + y_2 x_3 + \dots + y_n x_1)|- Cross-product term 1: (x1 * y2) - (x2 * y1) = (500,000 * 4,180,000) - (500,400 * 4,180,000) = -1,672,000,000
- Cross-product term 2: (x2 * y3) - (x3 * y2) = (500,400 * 4,180,300) - (500,400 * 4,180,000) = +150,120,000
- Cross-product term 3: (x3 * y4) - (x4 * y3) = (500,400 * 4,180,000) - (500,000 * 4,180,300) = 2,091,672,000,000 - 2,090,150,000,000 = +1,521,880,000
- Sum of cross products: -1,672,000,000 + 150,120,000 + 1,521,880,000 = 0 (Simplified with coordinate offsets: x' = [0, 400, 400], y' = [0, 0, 300])
- Normalized offset calculation: (0*0 - 400*0) + (400*300 - 400*0) + (400*0 - 0*300) = 120,000 m²
- Enclosed Area: A = 0.5 * |120,000| = 60,000 m²
- Hectares & Acres: 60,000 m² / 10,000 = 6.00 hectares = 14.826 acres
The closed linear ring encloses a right triangular municipal park spanning exactly 6 hectares of land, verified mathematically via vertex cross multiplication.
GeoJSON Geometry Types Reference (Table)
Consult this comprehensive reference detailing coordinate array dimensionality, topological rules, and rendering characteristics:
RFC 7946 GeoJSON Geometry Specifications & Data Hierarchy
Complete structural reference for coordinate nesting depth, topological invariants, and rendering complexity.
| Geometry Type | Coordinate Nesting Depth | Topological Invariant / Rule | Typical GIS Real-World Fixture | Rendering Complexity |
|---|---|---|---|---|
| Point | Single array [lon, lat] or [lon, lat, alt] | 2 or 3 numerical values; lat between -90 and +90 | Geocoded street address, weather station sensor | O(1) - Single SVG glyph or Canvas point |
| MultiPoint | Array of points [[lon, lat], ...] | Disjoint point collection sharing identical properties | Cluster of island archipelagos, retail franchise store set | O(N) - Batch instanced point rendering |
| LineString | Array of 2+ points [[lon, lat], ...] | Linear continuity; self-intersection permitted | Highway segment, hiking trail, river centerline | O(N) - Polyline path drawing |
| MultiLineString | Array of arrays of points [[[lon, lat], ...], ...] | Multiple disjoint or branching linear tracks | Divided interstate corridor, braided river network | O(N) - Multi-path compound stroke |
| Polygon | Array of linear rings [[[lon, lat], ...], ...] | Exterior ring counter-clockwise; interior hole rings clockwise; first == last point | Tax parcel lot boundary, national park perimeter, lake ring with island | O(N log N) - Tessellation & earcut triangulation |
| MultiPolygon | Array of polygons [[[[lon, lat], ...], ...], ...] | Multiple disjoint polygons sharing attribute schema | State of Hawaii (disjoint islands), United States (Lower 48 + Alaska + islands) | O(N log N) - Multi-pass polygon tessellation |
| GeometryCollection | Heterogeneous array of distinct geometry objects | Avoid nested GeometryCollections per RFC 7946 | Complex multi-modal transit station (platform polygon + tracks line + entrance points) | High - Polymorphic rendering pipeline |
GeoJSON Viewer Limits: Coordinate Systems, Precision and File Size
When deploying GeoJSON files in production web GIS pipelines, developers must recognize standard limitations:
- Deprecation of the
crsMember: In the older 2008 GeoJSON specification, authors could declare custom projected coordinate systems (like State Plane EPSG:2227). RFC 7946 formally deprecated thecrsmember entirely. All modern GeoJSON MUST be encoded in geographic WGS 84 (EPSG:4326) with longitude and latitude decimal degrees. - Excessive Decimal Bloat: Storing coordinates with 15 decimal digits (e.g.,
-122.41941558291048) provides sub-atomic nanometer precision while tripling JSON file size. Limiting decimal precision to 6 decimal places (10-centimeter precision) slashes file transfer weights by 50% to 70%. - Browser DOM Rendering Bottlenecks: Standard SVG and Leaflet DOM path renderers experience severe frame-rate degradation when rendering GeoJSON FeatureCollections containing over 5,000 vertices. For large datasets, utilize WebGL-accelerated layers (MapLibre GL JS) or convert features into vector tiles (MBTiles / PMTiles).
- RFC 7946 strictly requires coordinates in [longitude, latitude] order; files generated with [latitude, longitude] will render inverted across the equator and prime meridian.
- Linear rings in Polygon geometries must close explicitly (the first coordinate must exactly match the terminal coordinate).
- GeoJSON files larger than 25 megabytes can cause browser tab memory allocation crashes during JSON.parse(); stream or pre-tile massive datasets before client consumption.
Related Vector GIS & Spatial File Converters
Inspect, convert, and overlay other spatial formats across our GIS tool suite:
Quick facts about the GeoJSON viewer
| Fact | Value | Notes |
|---|---|---|
| Format Specification | IETF RFC 7946 Standard | Standardized geographic JSON schema |
| Geometry Support | Points, Lines, Polygons | FeatureCollections and single geometries |
| Inspection Metrics | Feature Count & Bounding Box | Calculates spatial envelope |
Edge cases and exceptions
Coordinate Order (Lon, Lat vs Lat, Lon)
IETF RFC 7946 mandates [longitude, latitude] coordinate ordering in GeoJSON. Legacy systems using [lat, lon] will plot transposed into the wrong hemisphere.
The GeoJSON viewer: worked examples
Zoning Boundary Validation
Scenario: Inspecting a municipal zoning polygon GeoJSON file.
Outcome: Verifies geometry integrity, renders the polygon on map tiles, and confirms correct boundary extents.
Frequently asked questions about the GeoJSON viewer
What is GeoJSON?
GeoJSON is an open standard format based on JSON for encoding a variety of geographic data structures such as points, roads, and land boundaries.
What is a GeoJSON file?
GeoJSON is an open standard (RFC 7946) for geographic features in JSON, with geometry types such as Point, LineString and Polygon.
Why is longitude first in GeoJSON?
The standard orders coordinates as [longitude, latitude], matching x and y. Many other tools use latitude first.
What coordinate system does GeoJSON use?
WGS84 in decimal degrees. Files in another projection will plot in the wrong place unless reprojected.
Is my file uploaded?
No. The file is parsed locally in your browser and is not sent to any server. Closing or refreshing the page discards it.
How do I validate a GeoJSON file?
The viewer reports parsing errors and counts geometries. For strict validation use a GeoJSON linter.
Can I see the properties of a feature?
Yes. Click a feature to inspect its attributes, and see the bounding box for the file.
How do I convert a shapefile to GeoJSON?
Use a GIS tool such as QGIS or ogr2ogr, then load the output here.
What is the right-hand rule?
RFC 7946 says exterior polygon rings should be counterclockwise and holes clockwise.
How big a file can I open?
A few megabytes works smoothly. Very large files may be slow.
Keep exploring
What to do with this result
- KML Viewer & Google Earth Map InspectorUse this to view a KML or KMZ file.
- GPX Viewer & Trail Track VisualizerUse this to view a GPX track.
- Map Drawer — Draw Shapes, Polygons & PathsUse this to draw shapes on a map.
- Map Area Calculator — Measure Land Area & AcreageUse this to measure area on a map.
- CSV to Map VisualizerUse this to plot a CSV file on a map.