GeoJSON Simplify
Thin dense GeoJSON lines and polygons with the Douglas–Peucker algorithm at a metre-based tolerance — often 80–95% smaller with no visible change.
GeoJSON Simplify runs entirely in your browser. Your geodata is processed on your device and never uploaded.
Open the GeoJSON Viewer
About GeoJSON Simplify
GeoJSON Simplify runs the Ramer–Douglas–Peucker algorithm over every LineString, MultiLineString, Polygon and MultiPolygon in your data. The algorithm keeps a vertex only when removing it would displace the shape by more than your tolerance — expressed here in metres, with longitude properly scaled by latitude so the tolerance means the same thing in Oslo as in Singapore. GPS tracks logged every second and boundaries digitised at survey precision routinely shrink by 80 to 95% with no visible change at map scale, which is the difference between a web map that loads instantly and one that stutters. Structure survives intact: rings stay closed, polygons keep at least four positions rather than collapsing, points and properties pass through untouched, and the original object is never mutated.
Features
- Douglas–Peucker with a metre-based tolerance slider
- Latitude-aware scaling so metres mean metres everywhere
- Handles LineString, Polygon and their Multi* variants
- FeatureCollections, Features and GeometryCollections walked recursively
- Rings stay closed and never collapse below a valid polygon
- Point counts, reduction percentage and byte sizes reported
- Properties and foreign members preserved untouched
- Everything processed on your device
How to use the GeoJSON Simplify
- Paste GeoJSON or load the sample
- Set the tolerance — 5–20 m for street-level, 100 m+ for country shapes
- Check the reduction stats and eyeball the output
- Copy the simplified GeoJSON
Example
Input
GPS running track, 4,812 points, 512 KB
Output
10 m tolerance → 214 points, 24 KB — 95.6% fewer points
Indistinguishable on a map; twenty times faster to load.
Common errors & troubleshooting
- The simplified shape cuts corners visibly. — Tolerance is too large for the zoom level you care about. Halve it until the artefacts disappear — the sweet spot is usually the largest tolerance whose output still looks identical at your maximum zoom.
- Zero points were removed. — The data may already be coarse relative to the tolerance. Raise the tolerance, and note that Points and MultiPoints are never touched — only lines and rings have vertices to spare.
- Two adjacent polygons no longer share a border exactly. — Each ring simplifies independently, so shared edges can diverge slightly. For strict topology — country mosaics, cadastral data — use a topology-aware pipeline; for display layers the gaps are subpixel.
- The file barely shrank despite big point reductions. — Coordinate precision may dominate: fifteen decimal places per number is most of the bytes. Rounding coordinates to 5–6 decimals (about 10 cm) alongside simplification gives the full saving.
Frequently asked questions
- How does the Douglas–Peucker algorithm decide which points to keep?
- It draws a chord between a segment's endpoints, finds the vertex farthest from that chord, and keeps it only if its distance exceeds the tolerance — then recurses on both halves. The survivors are exactly the vertices that shape the line at your chosen scale.
- What tolerance should I use for GPS tracks?
- Consumer GPS wanders 3–10 m anyway, so a 10 m tolerance mostly removes noise rather than signal. Street-level display holds up to about 20 m; regional overviews tolerate 100 m or more.
- Will simplification break my polygons?
- The guards here prevent the classic failures: the closing point is preserved, rings that would fall below four positions are left alone or kept as minimal valid rings, and nothing is mutated in place. Self-intersection from aggressive tolerances remains possible on convoluted shapes — inspect extreme reductions.
- Why simplify in metres rather than degrees?
- A degree of longitude shrinks with latitude — 111 km at the equator, 55 km at 60°N. A raw degree tolerance would simplify Scandinavian data twice as aggressively as equatorial data; scaling by cos(latitude) keeps the tolerance physically meaningful.
- Does simplification lose data permanently?
- Yes — removed vertices are gone from the output. Keep the original for analysis and archives, and ship the simplified copy for display. The stats panel tells you exactly what was traded.
Related tools
- GeoJSON Viewer & Validator — Paste or drop GeoJSON to validate it and see its features on a map, with feature counts and a bounding box.
- GeoJSON Bounding Box — Get the bounding box, centre, area and length of any GeoJSON, in both coordinate orders.
- GPX to GeoJSON — Convert GPX to GeoJSON and back — GPS tracks, routes and waypoints to GeoJSON features, or GeoJSON back to a GPX file.
- GeoJSON to CSV — Convert a GeoJSON FeatureCollection to CSV and back — Point features become latitude/longitude columns with their properties.
- Polyline Encoder & Decoder — Encode coordinates to a Google encoded polyline string and decode polylines back to coordinates or GeoJSON.
- KML to GeoJSON — Convert KML ⇄ GeoJSON — turn Google Earth KML into GeoJSON for web maps, or GeoJSON back into KML.
All ArrayKit tools