Mark points directly on the map or upload a CSV of latitude/longitude coordinates, then generate the convex hull — the smallest polygon that encloses every point. Style the outline thickness, colour and fill opacity to match your presentation, then export the boundary as GeoJSON — instantly, in your browser, with no software required. Open full screen ↗
Turn Scattered Points Into a Single Boundary
A convex hull is the smallest polygon that encloses every point in a set — imagine stretching a rubber band around a handful of pins on a board and letting it snap tight. Mark points on the map or upload a CSV of coordinates, then generate that boundary with one click.
Frequently Asked Questions
How accurate is the area and perimeter shown for the hull?
The area is calculated using a spherical shoelace formula and the perimeter using great-circle distances between hull vertices, both accounting for the Earth's curvature. This gives practical accuracy for coverage estimates and presentations, though it is not a substitute for a licensed survey where legal or engineering precision is required.
Why does the hull polygon not touch all of my points?
That's expected — a convex hull only uses the points that lie on the outer boundary of the set. Any point that falls inside the shape formed by the outermost points is, by definition, not a hull vertex. If you need every point reflected exactly, use the Digitize GIS Data tool to trace a custom polygon by hand instead.
Is my point and CSV data uploaded to a server?
No. Point marking, CSV parsing, and the convex hull calculation all run entirely in your browser. Nothing is sent to or stored on any server, which makes this tool safe to use with sensitive or private location data.
What format does my CSV file need to be in?
A standard comma-separated CSV with a header row, including one column for latitude and one for longitude. Common header names like lat, latitude, y, lon, lng, long, or longitude are detected automatically. Any other columns are ignored for hull generation. If the tool can't detect your columns automatically, a manual selector lets you choose them.
Can I combine map-clicked points and CSV points in one hull?
Yes. Points added by clicking the map and points loaded from a CSV file are stored in the same list and both appear in the Points sidebar. Generating the hull uses every point currently in that list, regardless of how each one was added.
What does the exported GeoJSON file contain?
A FeatureCollection with one Polygon feature representing the convex hull — including its vertex count, area, and perimeter as properties — plus one Point feature for every point in your current set, tagged with whether it came from the map or a CSV upload.
How many points do I need to generate a hull?
At least three, and they must not all lie on a single straight line. With exactly three non-collinear points, the hull is simply the triangle connecting them. With more points, the algorithm automatically determines which ones form the outer boundary and discards the rest as interior points.
What is a convex hull, in simple terms?
Picture stretching a rubber band around a set of pins pushed into a board, then letting it snap tight — the shape it forms is the convex hull. It's the smallest polygon that contains every point, with no dents or inward curves anywhere along its edge. Every point either sits on this boundary (a hull vertex) or somewhere inside it.
What happens if I add or remove points after generating the hull?
The existing hull stays on the map exactly as it was, and a small notice appears reminding you that the points have changed. Click "Generate Convex Hull" again at any time to recompute the boundary using the current point set.
Can I change the outline thickness and colour after the hull is generated?
Yes. The colour picker, outline width slider (1–12px), and fill opacity slider (0–80%) in the sidebar all apply live to the hull already drawn on the map — there is no need to regenerate the boundary after a style change.
Styling the Boundary
By default the hull is drawn with a thick outline and a lightly opaque fill. Three controls in the sidebar give you full control over the look:
- Color: one picker sets both the outline stroke and the fill together.
- Outline Width: from a thin 1px line up to a bold 12px border.
- Fill Opacity: from fully transparent (0%) up to a solid 80% fill.
Every change applies instantly to the hull already on the map — no need to regenerate it first.
Exporting the Convex Hull
Click "Download Hull (GeoJSON)" to export a FeatureCollection containing:
- The hull polygon: with its vertex count, area and perimeter stored as properties.
- Every input point: as individual Point features, tagged with their source.
GeoJSON is read natively by Leaflet, Mapbox GL JS, QGIS and ArcGIS, and renders directly as an interactive map on GitHub.
Common Use Cases
🎓
GIS & Geometry Education
Demonstrate the convex hull algorithm interactively — add points, generate the hull, and see exactly which points become vertices and which fall inside.
🌊
Wildlife & Sighting Ranges
Upload GPS sighting or tracking coordinates to generate the minimum range boundary enclosing all recorded observations.
🚨
Incident & Asset Mapping
Drop points for scattered incidents, assets, or sensor locations to instantly see the overall area they span, useful for briefings and situational reports.
🏞️
Land & Site Coverage
Mark survey points, boundary markers, or field corners to quickly estimate the overall extent of a site or land parcel without manually tracing a shape.
📡
Sensor & Station Networks
Import station or sensor coordinates from a CSV to visualise the outer boundary of your monitoring network's spatial coverage.
📦
Delivery & Service Areas
Plot customer or delivery addresses from a CSV to visualise the outer boundary of your current service footprint or coverage area.
Understanding the Convex Hull
The hull's vertices are always a subset of your original points. Every point either sits on the boundary or lies inside it, and its edges only ever bulge outward — never inward.
How It's Calculated
The tool uses the monotone chain (Andrew's) algorithm: it sorts every point, then builds the upper and lower edges of the boundary in a single efficient pass. Same input, same output, every time.
Convex vs. a Hand-Traced Outline
A convex hull can never have dents or concave sections — unlike the Digitize GIS Data tool, where you trace an arbitrary shape vertex by vertex. Use the hull for a fast, objective boundary; trace by hand when you need an exact outline.
Turning Data Points Into a Territory
Location data is everywhere today. Delivery drops. Property listings. Wildlife sightings. Scattered pins only tell part of the story. The real insight comes from their shape together — the territory they define.
A Real-World Example: Smart Delivery Zones
Picture a regional courier service. Over six months, drivers log thousands of delivery coordinates across a new city.
Dispatch is still handled by hand. It's slow. It's inefficient.
To route smarter and price deliveries fairly, the company needs one thing: a single, unified service zone.
Not a rough circle. A precise boundary that wraps every customer served — without reaching into areas nobody has delivered to yet.
This is exactly what a convex hull does. It wraps your outermost points in the tightest possible boundary.
How People Actually Search for This
You don't need to be a GIS expert to find the right tool. A few plain-English searches get you there.
- Creating a custom territory: Search for a way to turn a spreadsheet of coordinates into a shape. Try "outermost boundary from coordinate list." Upload your delivery logs and instantly see your service area.
- Wrapping the outer edge: Picture stretching a rubber band around every pin on the map. Search "minimum shape to enclose all points" or "rubber band boundary around map markers." Both lead straight to convex hull generators.
- Cleaning up the perimeter: Want a clean edge instead of a jagged one? Search "tight boundary around points online" or "connect the dots to make a polygon." These point to visual tools where you drag, adjust and export your zone.
- Setting the macro window: Sometimes you just need the outer limits — north, south, east, west. Search "bounding rectangle for map points." Working from addresses instead of coordinates? Try "map zoom extent from a list of addresses."
You don't need a science degree to turn messy coordinates into a clean map territory. Plain-English searches get you there. A convex hull tool does the rest — turning scattered points into one clear boundary you can act on.
Two Ways to Add Points
Build your point set using either method below, or combine both in the same session:
- Add Points on the map: Click "Add Points", then click anywhere on the map to drop a point. Click a placed point to see its coordinates and a remove button.
- Upload a CSV file: Click "Upload CSV" or drag a .csv file onto the map. Latitude/longitude columns are auto-detected, with a manual fallback selector if detection fails.
Once you have at least three points, click "Generate Convex Hull". If you add or remove points afterwards, a notice reminds you to regenerate — the previous hull stays visible until you do.
Step-by-Step Guide

Step 1
Open the tool
The map loads centred on the world with an empty point set. The floating toolbar at the top offers Add Points, Upload CSV, Generate Convex Hull and Clear controls; the sidebar holds styling, basemap and export options.

Step 2
Mark points on the map
Click "Add Points" to enter point-adding mode, then click anywhere on the map to drop a marker. Repeat to add more points — each appears in the Points list in the sidebar with its coordinates.

Step 3
Or upload a CSV of coordinates
Click "Upload CSV" or drag a .csv file onto the map. Latitude/longitude columns are auto-detected; if detection fails, pick the correct columns from the fallback selector, then click Plot Points.

Step 4
Add at least three points
A convex hull needs a minimum of three points to enclose an area. The Generate Convex Hull button stays disabled until this minimum is met.

Step 5
Generate the convex hull
Click "Generate Convex Hull" in the toolbar. The tool computes the boundary and draws it on the map with a thick outline and a lightly opaque fill by default, then zooms to fit the new shape.

Step 6
Customise the outline and fill
Use the colour picker to set the outline and fill colour, the width slider to set outline thickness from 1–12px, and the fill opacity slider from 0–80%. Changes apply instantly to the hull already on the map.

Step 7
Add or remove points as needed
Delete any point from the sidebar list or its map popup. Add more points by re-entering Add Points mode or uploading another CSV, then click Generate Convex Hull again to refresh the boundary.

Step 8
Review the hull statistics
The sidebar shows the number of hull vertices plus the enclosed area (in acres, hectares and square kilometres) and the boundary perimeter (in kilometres and miles).

Step 9
Export as GeoJSON
Click "Download Hull (GeoJSON)" to save a FeatureCollection containing the hull polygon and every input point, ready to open in QGIS, ArcGIS, or any GeoJSON-compatible mapping tool.

Step 10
Open in full-screen mode
Click the Full Screen link in the sidebar header for a dedicated full-screen page with the same tools, ideal for working with larger point sets or presenting the result.
Watch: Convex Hull Generator in Under a Minute
Prefer to watch instead of read? This short walkthrough covers adding points or uploading a CSV and generating the boundary polygon around them.
Related Tools
Map tiles © OpenStreetMap contributors and Protomaps (hosted by KONAKTIVE), CARTO, Esri (satellite). CSV parsing powered by PapaParse. Map rendering by Leaflet. All point marking and hull computation is local — no data is uploaded to any server.