Turn Any Shape Into a Buffer Zone
A buffer zone is the area within a fixed distance of a point, line or polygon — a 500-metre safety radius around a pipeline, a 5-kilometre catchment ring around a store, or a 50-foot setback along a property line. This tool lets you build that source geometry on the map or import it from a file, then generate the buffer polygon around it with one click.
Understanding Buffer Zones
Buffering works the same way regardless of what you start with: every point on the source geometry is expanded outward by the same distance, and the resulting outline is merged into a single smooth polygon (or multi-polygon, if the buffered shapes don't touch).
Distance, Units and Geodesic Accuracy
Set the buffer distance in meters, kilometers, miles, feet or yards. The calculation accounts for the Earth's curvature (a geodesic buffer), so distances stay accurate whether you're buffering something a few metres wide or spanning hundreds of kilometres.
Points, Lines and Polygons Buffer Differently
A point buffers into a circle. A line buffers into a stadium-shaped corridor running along its full length. A polygon buffers into a larger polygon with the same outline pushed outward — useful for expanding a boundary or adding a safety margin around a restricted area.
Two Ways to Build Your Source Layer
Add the geometry you want to buffer using either method below, or combine both across multiple layers in the same session:
- Draw on the map: Click "Point", "Line" or "Polygon" in the toolbar, then click the map to place vertices. Finish a line or polygon by double-clicking, pressing Enter, or clicking "Finish" — every shape you draw is added to a single "Drawn Shapes" layer.
- Upload a file: Click "Upload" or drag a file onto the map — a CSV of coordinates (latitude/longitude columns auto-detected), a GeoJSON/.json file, or a zipped Shapefile (.zip containing .shp, .dbf and .shx). Each upload becomes its own layer.
Once you have at least one layer, choose it as the "Target Layer", set a distance, unit and buffer colour, then click "Generate Buffer". The new buffer polygon appears as its own layer, ready to restyle, export, or buffer again.
Buffer Controls
Three settings in the sidebar control how each buffer is generated:
- Target Layer: pick any layer currently on the map — a drawn shape, an uploaded file, or even a previously generated buffer — as the source to buffer.
- Distance & Unit: set the buffer radius in meters, kilometers, miles, feet or yards.
- Buffer Color: sets the outline and fill colour of the new buffer layer, distinguishing it at a glance from source layers.
Every generated buffer becomes its own independent layer, so you can compare several distances side by side without losing the original geometry.
Managing Your Layers
Every shape you draw or upload, and every buffer you generate, appears as a row in the Layers panel. Each row lets you toggle visibility with a checkbox, recolour the layer live with a colour swatch, zoom the map to its bounds, export it individually as GeoJSON, or delete it — all without affecting any other layer.
Exporting Your Buffer Zones
Two export options are always available in the sidebar:
- Export a single layer: click the download icon next to any layer in the Layers panel to save just that layer's GeoJSON.
- Download All Layers: combines every layer currently on the map — source geometry and buffers alike — into one GeoJSON FeatureCollection, with each feature tagged with its layer name.
GeoJSON is read natively by Leaflet, Mapbox GL JS, QGIS and ArcGIS, and renders directly as an interactive map on GitHub.
Step-by-Step Guide









Common Use Cases
Frequently Asked Questions
Related Tools
Map tiles © OpenStreetMap contributors and CARTO, Esri (satellite). Buffer geometry powered by Turf.js. CSV parsing by PapaParse, Shapefile parsing by shpjs. Map rendering by Leaflet. All drawing, file parsing and buffer computation is local — no data is uploaded to any server.