Skip to main content
Vecaria

GeoJSON Buffer Tool

Local

Buffer GeoJSON points, lines or polygons in km, m, mi or nm — free in your browser, no sign-in, nothing uploaded.

Sample data loaded — click "Generate buffer" to try it.

Negative distances shrink polygons inward (a negative radius on point/line features is rejected up front — they have no inward side, and mixed inputs would silently drop them). Buffers of adjacent/overlapping features stay separate — run GeoJSON Dissolve afterwards to merge them into one zone. Polygons that shrink away to nothing are omitted from the output. The result is previewed on the map below; tick "Show original" to compare before/after.

Before/after illustration of a GeoJSON buffer around a line and a point
Illustrative diagram (not a live screenshot): buffers at a chosen radius and unit around points, lines and polygons — the map preview offers before/after comparison.

What is it? GeoJSON Buffer generates buffer polygons around points, lines and polygons with selectable distance units (kilometers, meters, miles, nautical miles) and an adjustable circle detail (segments per quadrant), computed locally with turf.js — input must be WGS84 longitude/latitude, and nothing leaves your browser.

TL;DR: Create buffer zones around GeoJSON points, lines and polygons — km, m, mi or nm, computed locally in your browser with nothing uploaded. Free, no sign-in.

How to use

  1. Paste your GeoJSON into the input box, or click "or load a file" to pick a .geojson/.json file.
  2. Set the buffer distance and units (negative values shrink polygons inward), plus the circle detail (segments per quadrant).
  3. Generate, preview the result on the map (tick "Show original" to compare before/after), then download the buffered GeoJSON.

FAQ

Which units can I buffer in?

Kilometers, meters, miles or nautical miles. Input must be WGS84 longitude/latitude, and distances are real-world distances.

How round are the buffers?

Buffers are polygon approximations. The detail control sets segments per quadrant (3–128, default 8 ≈ 32 edges per full circle); larger values trace circles more closely and add vertices.

What happens with a negative radius on points or lines?

It is rejected up front with an actionable message: point/line features have no inward side, and in mixed inputs turf would silently drop them — the pre-check prevents silent data loss.

Is it local?

Yes — parsing and buffering run entirely in your browser.

Is it free? Do I need an account?

Yes — buffering a GeoJSON file uses a free daily allowance and needs no sign-in. Batch runs and larger quotas are the paid Pro tier.

Is this the same as turf.js buffer?

Yes — the geometry is turf.js buffer (MIT) running in your browser, with units (km/m/mi/nm) and segments-per-quadrant exposed as controls. If you have working turf code, this gives you the same polygons without writing it — and the map preview lets you verify before downloading.

Why are my buffers in the wrong place?

The input must be WGS84 longitude/latitude. GeoJSON from projected coordinate systems (or a .prj-aware pipeline) will buffer at silently wrong positions — reproject to WGS84 first (e.g. with GeoJSON Reproject), then buffer here.

Can overlapping buffers be merged into one zone?

Not here — each feature's buffer stays a separate polygon. Run GeoJSON Dissolve afterwards to merge overlapping buffers into one continuous zone (service-radius and coverage maps usually want this).

Examples

  • Paste points/lines/polygons (or load a file) → set a radius → generate buffers → compare before/after on the map
  • Buffer GPS track points by 500 m to see service coverage, then dissolve the result into one continuous zone.

Supported formats

GeoJSON

Limitations

  • Built on turf.js (MIT).
  • Input must be WGS84 longitude/latitude; reproject other CRS first (e.g. with GeoJSON Reproject) — otherwise buffers are silently misplaced.
  • Negative distances shrink polygons inward; a negative radius on point/multi-point/line features is rejected up front (they have no inward side, and mixed inputs would silently drop them). Zero and non-finite distances are rejected.
  • Overlapping buffers of separate features stay separate; run GeoJSON Dissolve afterwards for one continuous zone. Polygons that shrink away to nothing are omitted from the output.
  • Runs entirely in your browser; nothing is uploaded. The map preview renders geometry locally while CARTO basemap tiles are fetched over the network.
  • Large feature counts may be slow in the browser.
  • Buffers are polygon approximations, not true arcs: the detail control sets segments per quadrant (3–128, default 8 ≈ 32 edges per circle).

Privacy

Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.