SparkCalcSparkCalc

Rainwater Harvesting Calculator

Runs in your browser · No signup · Free forever
100 m² roof × 1000 mm = 72,000 L

Your roof is a free water collection system! Every millimetre of rain that falls on one square metre of roof equals one litre of water. This calculator estimates your annual rainwater harvesting potential based on your roof catchment area, local rainfall, and system efficiency. Collected rainwater can supplement garden irrigation, toilet flushing, and laundry.

Reviewed by the SparkCalc editorial team

mm/year
%
%
people
Share Link:

How We Calculate This

Annual yield = roof area × annual rainfall × (runoff coefficient/100) × (system efficiency/100). The 1 mm × 1 m² = 1 litre relationship comes from the definition of millimetres of precipitation depth.

Sources: U.S. EPA — Soak Up the Rain: Rain Barrels · U.S. EPA — What You Can Do to Soak Up the Rain · U.S. EPA — Soak Up the Rain (Green Infrastructure)

Frequently Asked Questions

How much water can I collect from my roof?

The basic formula is: litres = roof area (m²) × rainfall (mm) × runoff coefficient × system efficiency. 1 mm of rain on 1 m² yields 1 litre.

What is the runoff coefficient?

Not all rain that hits the roof makes it to the tank. The runoff coefficient accounts for evaporation, splash, and absorption. Hard metal/plastic roofs are ~85-90%, tiles ~75-85%, rough surfaces lower.

What tank size do I need?

A common guideline is 5-10% of annual yield, or storage for 4-6 weeks of average usage. Larger tanks provide more drought security but cost more. We suggest ~5% of annual yield as a starting point.

Can I use rainwater for drinking?

Rainwater can be used for drinking if properly treated (filtration, UV, or chlorination) and collected from clean roofs. Most systems use it for gardens, toilets, and laundry without treatment.

Related Calculators

You might also find these calculators helpful: Leaky Faucet Calculator, and Water Intake Calculator.

Embed this calculator

Add this free calculator to your own website. Copy the code below and paste it into your page’s HTML — it’s responsive and resizes to fit.