Aquarium glass thickness calculator
A 1200 mm panel holding 500 mm of water needs at least 32.4 mm of glass with a safety factor of 3.8, by a simple bending model for float glass. Use it to plan and compare before expert review. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Height
- 500
- Length
- 1,200
- Safety factor
- 3.8
- Thickness mm
- 32.4 mm
- Calculated thickness mm
- 32.374152
- Height mm
- 500
- Length mm
- 1,200
This aquarium glass thickness calculator estimates the minimum wall-panel thickness from the water height, unsupported panel length, and a chosen safety factor. It applies a transparent hydrostatic bending model for annealed float glass, reports the analytical result, and rounds upward to one tenth of a millimeter for a conservative displayed minimum. The calculation is deterministic and useful for early planning, comparisons, and automated checks. It does not certify a finished aquarium: seam design, bracing, glass quality, edge condition, holes, impacts, and local building requirements still need qualified review before construction.
Enter dimensions that describe the loaded glass panel
Use the internal water-column height for height, not the outside height of the aquarium or the overall stand-to-rim measurement. Hydrostatic pressure grows with water depth, so decorative space above the waterline does not load the wall in the same way. Enter the unsupported horizontal span of the wall as length.
For an unbraced rectangular aquarium this is normally the clear distance between the vertical edges that restrain the front or rear panel. If rigid structural dividers genuinely support the panel, each supported bay may require a separate assessment, but a cosmetic trim strip should not be treated as a support. Both dimensions are entered in millimeters.
The safety factor is dimensionless and multiplies calculated bending stress before the required thickness is solved. Values often used in hobby discussions are design choices rather than universal legal rules, so choose one that matches the glass specification, support arrangement, workmanship, consequences of failure, and advice of the responsible designer. Zero, negative numbers, numeric text, missing values, NaN, and infinity are rejected instead of being silently repaired.
This strict behavior makes accidental unit errors easier to find in scripts. Confirm that length and height are millimeters before trusting the result; entering centimeters as though they were millimeters will produce a dangerously unrelated estimate.
Understand the hydrostatic bending calculation
The calculator converts height and length from millimeters to meters and computes bottom pressure as water density multiplied by standard gravity and water height. Water density is fixed at 1,000 kilograms per cubic meter and standard gravity at 9.80665 meters per second squared. A horizontal unit-height strip at the most highly pressured part of the wall is then treated as a simply supported beam spanning the entered length.
For that model, maximum bending stress is three times pressure times span squared, divided by four times thickness squared. Rearranging the equation gives thickness as span multiplied by the square root of three times safety factor times pressure divided by four times glass strength. The fixed annealed-float-glass design strength is 19.2 megapascals.
Use the estimate conservatively in a real aquarium project
Commercial glass is usually sold in discrete nominal sizes, and actual tolerance can put a sheet below its label. Select an available thickness whose verified minimum is at least the result, then evaluate the complete structure. The formula assumes annealed float glass, clean simply supported edges, an uninterrupted panel, and static fresh water.
Tempered, laminated, heat-strengthened, scratched, chipped, drilled, notched, curved, or reused glass needs material-specific treatment. Salt water changes density slightly; rocks and equipment can cause impact or point loads; uneven stands can twist the base; silicone seams can alter boundary behavior; and long-term flaws matter because glass is brittle. Top braces, euro-bracing, frames, and dividers can change the effective span only when they are designed and bonded to carry the relevant load.
Never infer that a decorative rim provides structural restraint without evidence. Compare the result with applicable standards, supplier data, proven aquarium practice, and a qualified engineer or experienced tank builder, especially for large tanks or installations above occupied space. Water testing should be done in a controlled location with exclusion around the tank.
What you can do with it
Compare early aquarium dimensions
Vary water height and unsupported panel length to see how a shorter tank or added structural support changes the analytical minimum.
Check a glass supplier shortlist
Compare available nominal sheet sizes with the upward-rounded minimum before asking a designer or tank builder for final approval.
Automate preliminary design screening
Reject candidate tank layouts whose calculated glass requirement exceeds a project limit while preserving model assumptions in the response.
FAQ
Why does tank length affect glass thickness?
The model treats a horizontal glass strip as spanning between supported vertical edges. Bending stress increases with the square of that unsupported span.
Can I use this result as final construction approval?
No. It is an idealized preliminary estimate. A complete design must address seams, bracing, glass type and quality, edge work, openings, support, impacts, tolerances, and applicable requirements.
How thick should the glass be for a tank 1200 mm long with 500 mm of water?
With a safety factor of 3.8 the estimate is 32.4 mm. The exact result is a little lower and is always rounded up to the next tenth of a millimeter, so the figure never recommends thinner glass than the calculation.
Which height should I measure for the aquarium?
Measure the height of the water column inside the tank, not the outside height or the distance from the stand to the rim. Water pressure grows with depth, so empty space above the waterline does not load the glass the same way.
What safety factor should I choose?
There is no single legal value: it is a design choice. Pick one that matches the glass specification, the bracing, the quality of the work, what a failure would cost you and the advice of whoever is responsible for the design.
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/hobby/aquarium-glass-thickness \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"height":500,"length":1200,"safety_factor":3.8}'const res = await fetch("https://api.kit.forhosting.com/hobby/aquarium-glass-thickness", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"height": 500,
"length": 1200,
"safety_factor": 3.8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/aquarium-glass-thickness",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"height": 500,
"length": 1200,
"safety_factor": 3.8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/aquarium-glass-thickness", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"height":500,"length":1200,"safety_factor":3.8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"height":500,"length":1200,"safety_factor":3.8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/aquarium-glass-thickness", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"height": 500,
"length": 1200,
"safety_factor": 3.8
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.aquarium_glass_thickness",
"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
Enter dimensions that describe the loaded glass panel
Every field must be a positive finite JSON number.
Understand the hydrostatic bending calculation
The response exposes this assumption as glass_strength_mpa and names the model so downstream users do not mistake the number for a material-independent rule. calculated_thickness_mm preserves the analytical result to six decimal places. thickness_mm is rounded upward to the next tenth of a millimeter, ensuring ordinary display rounding never recommends less than the computed result. This model makes the dependence easy to audit: doubling unsupported length doubles required thickness, while height and safety factor affect thickness through a square root. The arithmetic uses no network, clock, randomness, lookup service, or hidden user state, so identical valid inputs always produce identical JSON.
Use the estimate conservatively in a real aquarium project
Treat thickness_mm as a screening result for the stated idealized panel, not as permission to buy the nearest sheet and begin assembly. API automation costs $0.002 per successful request, while the browser version runs the same pure solve function. Invalid inputs return invalid_input and should prompt correction, not fallback to a guessed thickness.
Technical questions
What units should I use?
Enter both height and length in millimeters. The safety factor has no unit, and thickness_mm is returned in millimeters.
Does the result include a safety factor?
Yes. The supplied positive safety_factor multiplies bending stress inside the thickness equation; it is not added after rounding.
How much does the calculator cost?
The browser calculation is free. Each successful API request costs $0.002; invalid inputs return invalid_input.