GeoJSON Buffer Tool

Create buffer zones around GeoJSON geometries at a specified distance.

Skip to the tool

Buffers are how spatial questions get answered: "everything within 500 m of an airport", "the 1 km exclusion zone around schools", "the 200 m corridor along a river". The operation expands a Point into a circle, a LineString into a corridor, and a Polygon outward by a distance — and once you have the buffer polygon, an intersection query gives you the answer.

Paste any geometry on the left and set the distance in kilometres. The tool projects the input, generates an offset curve at the chosen radius using JSTS (Java Topology Suite via Turf.js), reprojects back to WGS 84, and renders the buffer over the input on the map. The result is a Polygon or MultiPolygon ready to download.

Below the widget the body explains the projection step (why you can't buffer in degrees and get metres), the 64-segment default for circular arcs and when to bump it up for smoothness, and how to subtract the original from the buffer to get a ring. For clipping data with the resulting buffer, use the clip tool.

Watch out for: self-intersecting concave polygons. Buffering a polygon with a sharp inward corner at a small distance (< 100 m on a city block, say) can produce an inside-out result where the buffer engulfs the polygon's interior rather than expanding outward. JSTS handles most cases, but if the buffer comes back looking inverted, run the input through the validator first — there's usually a self-intersection it can flag.

What Is a Buffer?

A buffer is a polygon that represents the area within a given distance of a geometry. Buffering a Point creates a circle, buffering a LineString creates a corridor, and buffering a Polygon expands its boundary outward. The buffer distance is specified in kilometers.

How to Use the Buffer Tool

Paste your GeoJSON and set the buffer distance in kilometers using the input control. The tool generates a new GeoJSON Polygon (or MultiPolygon) representing the buffered area, which is displayed on the map. You can then download or copy the result.

Negative buffer values are not supported. To shrink a polygon inward, you would need a dedicated erosion operation.

Common Use Cases

  • Creating exclusion zones around sensitive areas (airports, schools)
  • Defining service areas within a certain distance of a facility
  • Generating search corridors along a route or path
  • Building proximity buffers for spatial analysis and site selection
  • Estimating noise or pollution impact zones around infrastructure

For other spatial operations, see clip, union, and turf.intersect().

Try It

Buffer the Central Park point by 1 kilometer. Paste this Point feature and set the distance to 1 km:

GeoJSON{
  "type": "Feature",
  "properties": { "name": "Central Park" },
  "geometry": {
    "type": "Point",
    "coordinates": [-73.9654, 40.7829]
  }
}

The result is a circular Polygon with 64 vertices approximating a 1 km radius around Central Park. The output looks like this (truncated):

GeoJSON{
  "type": "Feature",
  "properties": { "name": "Central Park" },
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [-73.9654, 40.7919],
        [-73.9561, 40.7917],
        [-73.9474, 40.7909],
        ...
        [-73.9654, 40.7919]
      ]
    ]
  }
}

The polygon ring closes back to the starting point. On the map, you will see a circle overlaid on Manhattan spanning from roughly 96th Street to 69th Street.

Turf.js Buffer Algorithm

This tool uses Turf.js (@turf/buffer) to compute buffers. Turf projects the input geometry onto a planar coordinate system, generates offset curves at the specified distance using JSTS (Java Topology Suite ported to JavaScript), then reprojects the result back to WGS 84 geographic coordinates. The default step count is 64 segments per quarter-circle, producing smooth circular arcs.

Because the calculation accounts for Earth's curvature through projection, the buffer is geodesically accurate at any latitude. The distance parameter accepts kilometers, miles, or degrees. Read more about spatial operations in the GeoJSON specification guide.