# Polygon area from coordinates: shoelace formula calculator

> Area, perimeter and centroid of any simple polygon from its vertex coordinates, using the shoelace (surveyor's) formula with every term shown.

Interactive version: https://www.calcopenly.com/geometry/polygon-area-from-coordinates
Subject: Geometry calculators

List a polygon's corners in order around the outline and the shoelace formula gives its area: A = ½|Σ(xᵢyᵢ₊₁ − xᵢ₊₁yᵢ)|, with the sum wrapping from the last vertex back to the first. The sign of the sum shows the direction of travel, positive for counterclockwise. The same terms give the centroid, and the edge lengths add up to the perimeter.

The default five points, (1, 6), (3, 1), (7, 2), (4, 4) and (8, 5), are the worked example in Wikipedia's article on the formula: the terms sum to 33, so the area is 16.5 m². Surveyors use the method, also called the surveyor's area formula, to find a plot's area from the corner coordinates on a site plan.

The outline must not cross itself; crossing edges trigger a warning, because the overlapping parts then cancel or count twice. Coordinates must be planar, so convert latitude and longitude to a projected grid such as UTM first.

## Inputs

- **Vertices in order (x, y per line)**: Go around the outline in either direction. Brackets and semicolons are fine; a repeated first point at the end is ignored.
- **Coordinates are in** (options: No unit, Millimetres (mm), Centimetres (cm), Metres (m), Kilometres (km), Inches (in), Feet (ft), Yards (yd), Miles (mi))

## Results

- Area — main result
- Signed area
- Perimeter
- Centroid x
- Centroid y
- Number of vertices
- Vertex order

## Formula

$$
\begin{gathered} A = \frac{1}{2}\sum_{i=1}^{n}(x_i y_{i+1} - x_{i+1} y_i) \\[6pt] C_x = \frac{1}{6A}\sum (x_i + x_{i+1})(x_i y_{i+1} - x_{i+1} y_i) \end{gathered}
$$

## Worked examples

### Wikipedia's pentagon

- Vertices in order (x, y per line): 1, 6 / 3, 1 / 7, 2 / 4, 4 / 8, 5
- Coordinates are in: Metres (m)
- **Area: 16.5 m²**
- **Number of vertices: 5**
- **Vertex order: Counterclockwise**
- **Perimeter: 24.307995 m**
- **Centroid x: 3.88888889 m**
- **Centroid y: 3.66666667 m**
- Checked against: Area 16.5 from the Wikipedia “Shoelace formula” worked example; Python 3.8 fractions: signed sum +33 (counterclockwise), centroid (35/9, 11/3); math.sqrt edge sum for the perimeter

### Rectangle 4 × 3

- Vertices in order (x, y per line): 0, 0 / 4, 0 / 4, 3 / 0, 3
- Coordinates are in: Metres (m)
- **Area: 12 m²**
- **Perimeter: 14 m**
- **Centroid x: 2 m**
- **Centroid y: 1.5 m**
- **Vertex order: Counterclockwise**
- Checked against: 4 × 3 rectangle; centroid at the centre

### Right triangle, centroid at the mean of the vertices

- Vertices in order (x, y per line): (0, 0) (4, 0) (0, 3)
- Coordinates are in: Metres (m)
- **Area: 6 m²**
- **Perimeter: 12 m**
- **Centroid x: 1.33333333 m**
- **Centroid y: 1 m**
- Checked against: ½ × 4 × 3; 3-4-5 perimeter; a triangle's centroid is the vertex mean (4/3, 1)

### Clockwise square (edge case: negative signed area)

- Vertices in order (x, y per line): 0 0; 0 2; 2 2; 2 0
- Coordinates are in: Metres (m)
- **Area: 4 m²**
- **Signed area: -4 m²**
- **Vertex order: Clockwise**
- Checked against: Shoelace sum for clockwise order is −2 × area

### L-shaped plot in feet

- Vertices in order (x, y per line): 0,0 / 6,0 / 6,2 / 2,2 / 2,5 / 0,5
- Coordinates are in: Feet (ft)
- **Area: 18 ft²**
- **Perimeter: 22 ft**
- **Centroid x: 2.33333333 ft**
- **Centroid y: 1.83333333 ft**
- Checked against: 6×2 + 2×3 = 18 ft²; Python 3.8 fractions: centroid (7/3, 11/6)

### Closed ring with the first point repeated (edge case)

- Vertices in order (x, y per line): 0 0 / 4 0 / 4 3 / 0 3 / 0 0
- Coordinates are in: Metres (m)
- **Area: 12 m²**
- **Number of vertices: 4**
- Checked against: The repeated closing vertex adds a zero-length edge; same rectangle as above

## Questions

### How does the shoelace formula work?

Multiply each x by the next vertex's y, subtract the next x times this y, add the results all the way round and halve the absolute value. For (0, 0), (4, 0), (4, 3), (0, 3) the terms are 0, 12, 12 and 0, so the area is 24/2 = 12. The name comes from the criss-cross pattern the products make when the coordinates are written in two columns.

### Does the order of the points matter?

Yes. The points must follow the boundary, clockwise or counterclockwise, without jumping across. Direction only flips the sign: counterclockwise gives a positive sum, clockwise a negative one, and the area is the absolute value. The corners of a 2 × 2 square taken as (0, 0), (2, 2), (2, 0), (0, 2) trace a crossed bow-tie whose shoelace area is 0 instead of 4.

### How do you find the area of an irregular plot of land from its corners?

Record each corner as coordinates on a flat grid, such as eastings and northings in metres from a site plan, list them in order round the boundary and apply the shoelace formula. An L-shaped plot with corners (0, 0), (6, 0), (6, 2), (2, 2), (2, 5) and (0, 5) in feet covers 18 ft². Latitude and longitude must be projected first, because a degree of longitude shrinks towards the poles.

### How do you find the centroid of a polygon?

Weight each shoelace term by the sum of the two x coordinates involved: Cx = Σ(xᵢ + xᵢ₊₁)(xᵢyᵢ₊₁ − xᵢ₊₁yᵢ)/(6A), with A the signed area, and likewise for Cy. For a triangle this equals the average of the three vertices; for the L-shaped plot above it is (7/3, 11/6) ≈ (2.333, 1.833). The centroid of a non-convex shape can lie outside it.

### How accurate is the polygon area from coordinates calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 7 worked examples whose answers come from independent sources; for example, “Wikipedia's pentagon” is checked against Area 16.5 from the Wikipedia “Shoelace formula” worked example; Python 3.8 fractions: signed sum +33 (counterclockwise), centroid (35/9, 11/3); math.sqrt edge sum for the perimeter.

### Where does the method come from?

Wikipedia, “Shoelace formula” — worked example with vertices (1, 6), (3, 1), (7, 2), (4, 4), (8, 5); Bourke, P. (1988) “Calculating the area and centroid of a polygon”.

## Sources

- [Wikipedia, “Shoelace formula” — worked example with vertices (1, 6), (3, 1), (7, 2), (4, 4), (8, 5)](https://en.wikipedia.org/wiki/Shoelace_formula)
- [Bourke, P. (1988) “Calculating the area and centroid of a polygon”](https://paulbourke.net/geometry/polygonmesh/)
