About Tank Volume Calculator
The tank volume calculator solves the partial-fill or dipstick problem: given a measured liquid depth, what volume is in the tank? It supports an upright (vertical) cylinder, a horizontal cylinder with flat ends, and a rectangular box tank, and reports the liquid volume, the total capacity, the percent full, and the ullage (the empty space above the liquid).
Vertical cylinders and rectangular tanks scale linearly with depth, but a horizontal cylinder does not: its liquid volume follows the circular-segment formula V = L * [R^2 * acos((R - h)/R) - (R - h) * sqrt(2 R h - h^2)], where h is the fill depth and R the radius. The tool evaluates this exact expression, reports the result in cubic metres, litres, and US gallons, and plots the non-linear volume-versus-depth fill curve.
How It Works
- Select the tank shape: vertical cylinder, horizontal cylinder, or rectangular tank.
- Enter the dimensions (diameter and height for a vertical cylinder; diameter and length for a horizontal cylinder; plan length, width, and height for a rectangular tank).
- Enter the measured liquid fill depth h, taken from the bottom of the tank.
- The calculator applies the appropriate geometry (pi R^2 h, the horizontal-cylinder segment formula, or L*W*h), then reports liquid volume, total capacity, percent full, and ullage in cubic metres, litres, and US gallons, with a fill curve.
Worked Example
A horizontal cylindrical tank has diameter D = 2 m (radius R = 1 m) and length L = 5 m, and is filled to a depth h = 1 m, which is exactly half the diameter. The full capacity is pi * R^2 * L = pi * 1^2 * 5 = 15.708 m^3. Because the tank is filled to the centreline, the liquid volume is exactly half the full volume: V = L * [R^2 * acos((R - h)/R) - (R - h) * sqrt(2 R h - h^2)] = 5 * [1 * acos(0) - 0 * ...] = 5 * (pi/2) = 7.854 m^3. That is 50% full, an ullage of 7.854 m^3, equal to 7854 litres or 2075 US gallons of liquid.
Formulas
- Vertical cylinder (partial fill)
V = pi * R^2 * h- Horizontal cylinder (flat ends, partial fill)
V = L * [ R^2 * acos((R - h)/R) - (R - h) * sqrt(2 R h - h^2) ]- Rectangular tank (partial fill)
V = L * W * h- Percent full and ullage
percentFull = 100 * V_liquid / V_total, ullage = V_total - V_liquid- Unit conversions
1 m^3 = 1000 L = 264.172 US gal
Standards & References
- Standard tank geometry / circular-segment integration
- API MPMS Chapter 2 tank calibration principles
- ISO 7507 vertical cylindrical tank calibration principles
Frequently Asked Questions
Why is a horizontal tank only half full when the liquid reaches the centreline?
A horizontal cylinder is symmetric about its horizontal axis, so when the fill depth equals the radius (half the diameter) the liquid occupies exactly half the cross-sectional circle and therefore half the volume. Above and below the centreline the volume changes non-linearly, which is why a dipstick reading does not map linearly to volume.
How is the partial volume of a horizontal cylinder calculated?
The cross-section of liquid is a circular segment. Its area is R^2 * acos((R - h)/R) - (R - h) * sqrt(2 R h - h^2), where R is the radius and h the fill depth from the bottom. Multiplying by the cylinder length L gives the liquid volume. At h = 0 the volume is zero and at h = 2R (full) it equals pi R^2 L.
What is ullage?
Ullage is the empty volume in the tank above the liquid surface, equal to the total capacity minus the liquid volume. It matters for venting, thermal expansion, and filling limits. This calculator reports both the liquid volume and the ullage so you can check available headspace.
Does this calculator account for dished or hemispherical tank heads?
The horizontal-cylinder calculation assumes flat ends, which is the standard textbook case and a conservative starting point. Real tanks with dished, 2:1 elliptical, or hemispherical heads hold slightly more, and their head volume should be added separately. The vertical-cylinder and rectangular models are exact for those shapes.