Swimming pool volume calculator
A 10 by 5 m rectangular pool with an average depth of 1.5 m holds 75 m³, or 75,000 litres. Choose rectangular, round or oval, enter the sizes and get litres and US gallons for filling, dosing and heater sizing. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Pool plan shape
- Rectangular m
- Length
- 10
- Width
- 5
- Depth
- 1.5
- Volume m3
- 75 m
- Volume ft3
- 2,648.6000041116
- Liters
- 75,000
- Gallons us
- 19,812.9039268575
Knowing how many liters or gallons of water your pool holds is the starting point for fill planning, chemical dosing, heater sizing and seasonal opening. This swimming pool volume calculator turns a simple plan shape—rectangular, circular or oval—plus length, width, diameter and average depth into a deterministic water volume so homeowners, pool builders and property apps get the same numbers every time. The engine multiplies the plan area by average water depth, converts cubic metres or cubic feet into liters and US gallons with fixed conversion constants, and rejects zero or negative dimensions with a clear invalid input error.
Choose shape, measure dimensions, and pick one linear unit
Start by classifying the plan outline of the pool. Rectangular covers classic in-ground rectangles and most rectangular above-ground kits: you need length along the long side, width across the short side, and average water depth. Circular covers round above-ground and many spa-style shells: send diameter across the waterline, or radius if that is what the manufacturer lists, plus average depth.
Oval covers elliptical plans and many “oval” kit pools: use the major length, the minor width, and the same average depth. Measure depth at the shallow and deep ends when the floor slopes, then average those two water depths so the single depth field matches how homeowners and retail charts already estimate fill volume. Express every linear number in one system—metres with metres, or feet with feet—and set the optional unit field to m or ft (metres is the default when omitted).
Mixing feet of length with metres of depth is invalid for this product: convert offline first, then call once with a consistent set. Missing shape, missing depth, or a shape that is not rectangular, circular or oval fails with invalid input and is not charged.
Formulas, liters, gallons, and how to read the response
For a rectangular pool the cubic volume is length times width times depth. For a circular pool the engine uses pi times radius squared times depth, with radius equal to half the diameter when you send diameter, or diameter equal to twice the radius when you send radius only. For an oval pool the plan is treated as an ellipse: pi times half-length times half-width times depth.
Those cubic metres or cubic feet are then converted with fixed constants—one thousand liters per cubic metre, and the standard US-gallon factor per cubic metre—so liters and gallons us stay consistent across shapes. Circular and oval results also include pi for audit trails; rectangular results include length and width; circular results include diameter and radius. Zero, negative or non-numeric dimensions raise invalid input because they cannot define a physical pool.
Free-form kidney outlines are out of scope beyond the oval approximation; if your plan is highly irregular, break it into rectangles and ovals offline or use a survey area times average depth outside this contract.
What you can do with it
Homeowner fill and opening estimates
Homeowners enter rectangular, round or oval dimensions and average depth to learn how many liters or US gallons they need before scheduling a fill truck or multipoint hose fill.
Pool builder and retail quotes
Dealers and builders batch kit sizes from catalog length, width and depth into liters and gallons for chemicals, heaters and liner packages without retyping formulas.
FAQ
What happens if a dimension is zero or negative?
Zero or negative length, width, depth, diameter or radius cannot define a physical pool and are not charged.
Which shapes are supported?
Rectangular (length×width×depth), circular (π r² × depth from diameter or radius), and oval/elliptical (π × half-length × half-width × depth). Kidney free-forms are not modeled beyond the oval approximation.
Is the swimming pool volume calculator free?
The browser tool runs free on your device.
Should I use average depth for a sloping pool floor?
Yes. Measure shallow-end and deep-end water depths, average them, and send that single depth value—the same practice used in homeowner and retail fill charts.
Should I measure depth to the coping or to the waterline?
To the waterline you actually keep. Freeboard, tile lines and seasonal water levels mean a full pool usually sits a few centimetres below the coping, so the shell height alone overstates the water you fill and treat.
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/home/pool-volume \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shape":"rectangular","depth":1.5}'const res = await fetch("https://api.kit.forhosting.com/home/pool-volume", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shape": "rectangular",
"depth": 1.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/pool-volume",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shape": "rectangular",
"depth": 1.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/pool-volume", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shape":"rectangular","depth":1.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shape":"rectangular","depth":1.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/pool-volume", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"shape": "rectangular",
"depth": 1.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.pool_volume",
"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
Choose shape, measure dimensions, and pick one linear unit
Aliases such as length unit and dim unit map to the same choice.
Formulas, liters, gallons, and how to read the response
The response echoes shape and unit, returns volume m3 and volume ft3 for engineering notes, liters and gallons us for retail and homeowner use, the formula string used, and method always equal to pool volume so downstream code can branch without sniffing shapes. Identical inputs always produce identical JSON because the path is pure arithmetic with no network, random seed or wall clock.
API usage, pricing, fill workflows, and practical limits
Call the free in-browser swimming pool volume calculator for backyard planning, retail counter demos and classroom geometry checks without opening a spreadsheet. Remember that freeboard, tile lines and seasonal water levels mean “full” may be a few centimetres below the coping—adjust depth to the waterline you will actually maintain, not only the structural shell height. Authors shipping SDKs can map liters and gallons us straight into product copy while showing volume m3, formula and shape as explanatory detail for the buyer or the technician reviewing the job ticket. Send a JSON body with required shape and depth plus the dimensions your shape needs: length and width for rectangular and oval, diameter or radius for circular, and optional unit when dimensions are in feet. Use the prepaid API when a pool-builder quote tool, property-management app, chemical dosing helper or marketplace configurator needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with unit converters when customers mix millimetres on drawings with feet on kit labels, or with flow-rate helpers when you next estimate fill time from hose capacity.
Integration use cases
Apps and chemical dosing pipelines
Mobile and web apps compute pool volume as users change shape or depth, then feed liters into chlorine or salt dose calculators under a stable prepaid API contract.
Technical questions
How do I calculate swimming pool volume in liters and gallons?
Send JSON with shape (rectangular, circular or oval), the required dimensions for that shape, average depth, and optional unit m or ft. The response includes liters, gallons_us, volume_m3 and volume_ft3.