Triangle area from coordinates
Get the area of a triangle straight from its three corner points: (0, 0), (4, 0) and (0, 3) enclose an area of 6. The vertices can go in any order, and three points on one line are refused. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- X1
- 0
- Y1
- 0
- X2
- 4
- Y2
- 0
- X3
- 0
- Y3
- 3
- Area
- 6
When you already know the three vertices of a triangle on the Cartesian plane, the fastest closed-form way to recover its area is the shoelace formula: one cross-product style sum of the six coordinates, an absolute value, and a half. This calculator takes x1, y1, x2, y2, x3, and y3 as finite numbers, validates that they define a non-degenerate triangle, and returns the non-negative area together with the normalized vertices and a method tag of shoelace.
How the shoelace formula recovers triangle area
Label the three vertices in any order as (x1, y1), (x2, y2), and (x3, y3). The shoelace identity states that twice the signed area of the polygon is x1 times (y2 minus y3) plus x2 times (y3 minus y1) plus x3 times (y1 minus y2). Taking half the absolute value of that sum yields the geometric area of the triangle, independent of whether the vertices were listed clockwise or counterclockwise.
Classic classroom checks include the right triangle with vertices at (0, 0), (4, 0), and (0, 3), which produces area six, and the isosceles case (0, 0), (2, 0), (1, 1), which produces area one. Because the formula uses only addition, subtraction, multiplication, and absolute value, it is deterministic, O(1), and free of trigonometric libraries.
Where coordinate triangle areas show up in real work
Secondary-school and college analytic geometry courses constantly ask students to find the area of a triangle given three plotted points; a trusted calculator with a strict collinear check speeds homework grading and removes spreadsheet mistakes where someone divides by two after forgetting the absolute value or accepts a zero area as a valid figure.
Drafting, surveying, and simple GIS workflows that already project points into a local Cartesian plane need the planar area of three-corner parcels before staking or reporting—having a shared numeric oracle keeps field notes and office scripts aligned on the same shoelace path. Game, graphics, and CAD tutorials often store mesh faces as triples of 2D screen or world coordinates; the area answer feeds collision proxies, UV density checks, and level-of-detail heuristics without building a full computational-geometry stack.
If you later need spherical excess on the globe, Heron's formula from three side lengths, or polygon area for more than three vertices, treat those as separate search intents rather than overloading this coordinate-triangle landing.
What you can do with it
Homework and exam checks
Compute triangle area from plotted vertices and reject collinear triples with a clear error instead of a silent zero.
Local-plane survey parcels
From three projected corner coordinates, recover planar area before reporting or staking a triangular lot.
FAQ
What formula does this calculator use?
The shoelace formula: area = ½ |x1(y2 − y3) + x2(y3 − y1) + x3(y1 − y2)|. The response includes method: "shoelace".
What happens if the three points are collinear?
Collinear vertices give zero area and do not define a triangle.
Does vertex order matter?
Order only affects the sign of the intermediate sum. The returned area is always the absolute (non-negative) value.
Are coordinates 2D only?
Yes. This tool expects planar Cartesian x and y values. It does not compute 3D surface area or geographic ellipsoidal area.
What does it cost?
The browser tool is free and runs locally.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/geom/triangle-area-coordinates \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0,"y1":0,"x2":4,"y2":0,"x3":0,"y3":3}'const res = await fetch("https://api.kit.forhosting.com/geom/triangle-area-coordinates", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/triangle-area-coordinates",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/triangle-area-coordinates", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0,"y1":0,"x2":4,"y2":0,"x3":0,"y3":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0,"y1":0,"x2":4,"y2":0,"x3":0,"y3":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/triangle-area-coordinates", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.triangle_area_coordinates",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Collinear triples that would yield zero area are rejected with a clear invalid_input error instead of a silent zero that looks like a successful solve. No network calls, no random sampling, and no floating-point surprises beyond ordinary IEEE-754 arithmetic on the six numbers you provide.
How the shoelace formula recovers triangle area
The same expression is zero exactly when the three points lie on a single straight line, which is the collinear case this service refuses: a triangle needs positive area, so a zero result is treated as invalid_input rather than a successful response with area zero. Large coordinates can still overflow IEEE-754 double range; when the intermediate sum is non-finite the request fails with a clear overflow message instead of returning Infinity in JSON. That closed path matches how survey courses, analytic geometry textbooks, and computational geometry primers present the planar triangle area problem, and it keeps automated graders and pipelines aligned with hand computation.
What you send and what you get back
Provide six required finite numbers: x1 and y1 for the first vertex, x2 and y2 for the second, and x3 and y3 for the third. After parsing, the service evaluates the shoelace sum, takes half the absolute value, and checks that the area is a positive finite number; if the three points are collinear the error message states that the area is zero and asks for non-collinear vertices. Example checks: zero, zero, four, zero, zero, three yields area six; zero, zero, one, one, two, two fails as collinear; a missing y3 fails naming that field. Wire the free browser tool for quick sanity checks, then call the identical contract from scripts when you need bulk evaluation of coordinate-based areas without reimplementing the collinear gate in every language. Short aliases ax, ay, bx, by, cx, cy and x_a through y_c are accepted so form labels can stay compact without diverging handlers. Missing fields, empty strings, non-numeric text, NaN, and Infinity are rejected with invalid_input and are not charged. On success the JSON response returns area rounded for stable serialization, echoes the six normalized coordinates, and sets method to the string shoelace so logs and teaching UIs can document the algorithm. API pricing is the published base of $0.002 per successful item.
Where coordinate triangle areas show up in real work
Because this capability is a pure parse engine, failed validation does not consume balance and successful runs stay at $0.002 per item.
Integration use cases
Game and CAD face helpers
Turn three 2D vertex pairs into a positive area for mesh diagnostics, using the same shoelace path in browser and API.