Drip faucet calculator
Sixty drips a minute at 0.25 mL each for thirty days waste 648 liters, from a leak that never looks dramatic: count the drops for one minute and see the total. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Drips per minute
- 60
- Drip volume ml
- 0.25
- Days
- 30
- Minutes
- 43,200
- Total drips
- 2,592,000
- Waste ml
- 648,000
- Liters
- 648
A dripping faucet looks harmless until you multiply the drips in a minute by the minutes in a day and the days the leak has been running. This drip faucet water waste calculator converts three measurements you can take at the sink — drips per minute, the volume of one drip in milliliters, and the duration in days — into the total liters wasted. Count drops for sixty seconds, measure a cup or accept a typical drip volume between five hundredths and a quarter of a milliliter, and name how long the leak has lasted. Zero is allowed and returns zero liters, because a dry tap really does waste nothing.
How dripping-faucet waste is calculated
A leaky tap wastes water at a constant product of three factors: how often a drop falls, how large each drop is, and how long the leak continues. Measure the volume of one drip in milliliters, or use a published typical value when you cannot catch a single drop: a small bead is often about 0.05 milliliters, a medium drop about 0.15, and a large drop about 0.25. Duration is the number of days the faucet has been dripping, including fractional days if you only need a weekend.
Sixty drips per minute at 0.25 milliliters for thirty days is 648 liters — enough to fill several bathtubs from a leak that never looks dramatic. Ten drips per minute at 0.05 milliliters for a year is 262.8 liters. The method does not model temperature, evaporation, mineral scale, or a drip that speeds up at night; those belong in a plumbing survey.
What you get is a transparent operational volume you can audit. Change any one of the three factors and the liters move in lockstep. This tool is not a tank-capacity page or a hardness converter: those answer a different search, about how much a vessel holds or how hard the water is, not about how much a dripping faucet has already wasted.
What to measure at the sink
Fractional drip rates are allowed so a count of seven drips in thirty seconds can be sent as 14 without rounding first, and fractional days are allowed so an eighteen-hour leak is sent as 0.75. Missing fields, empty strings, booleans, objects and tokens that are not plain decimal or scientific numbers fail the same way. Zero is accepted and returns zero liters, because a dry tap or a zero-day window really does waste no water.
Numbers are rounded to twelve decimal places so goldens and clients compare byte-for-byte across runtimes. If the product overflows to Infinity the task fails rather than returning a non-finite volume.
Who uses a dripping tap estimate
Households, landlords and facilities teams use a deterministic drip faucet calculator to turn a counted drip rate, a stated drop volume and a known duration into liters they can put next to a water bill, instead of quoting a slogan about a leaking tap. Campaign pages that ask visitors to log a week of neglected taps can send the same three numbers the visitor already typed and show the wasted volume without inventing a drop size. Failed validation does not consume balance.
Keep requests small, pin the rounded fields in tests, and you get a reproducible leak product without standing up a smart-meter integration of your own.
What you can do with it
Household leak check
Count drips at the kitchen tap, pick a typical milliliter volume and the days since you first noticed it, then put the wasted liters next to this month's water bill.
FAQ
How is dripping-faucet water waste calculated?
Total liters equal drips per minute times milliliters per drip times 1440 minutes per day times days, divided by 1000. Sixty drips per minute at 0.25 mL for 30 days give 648 liters.
What drip volume should I use?
A typical household drip sits near 0.05–0.25 milliliters. A small bead is often about 0.05 mL; a large drop about 0.25 mL. Measure a cup over a known minute count if you need a tighter figure. The calculator does not guess drop size.
Does this convert waste into a water-bill cost?
No. It returns volume in liters, not currency. Multiply liters by your local tariff if you need a cost.
What happens if drips per minute, drip volume or days is negative?
A negative drip rate, drop volume or duration is not a physical leak. Zero is allowed and returns zero liters. Invalid input is not billed.
Is this the same as tank capacity, and what does it cost?
No. This page estimates water already wasted by a dripping faucet, not how much a vessel holds. The browser tool is free.
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/eco/drip-faucet \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"drips_per_minute":60,"drip_volume_ml":0.25,"days":30}'const res = await fetch("https://api.kit.forhosting.com/eco/drip-faucet", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"drips_per_minute": 60,
"drip_volume_ml": 0.25,
"days": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eco/drip-faucet",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"drips_per_minute": 60,
"drip_volume_ml": 0.25,
"days": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eco/drip-faucet", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"drips_per_minute":60,"drip_volume_ml":0.25,"days":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"drips_per_minute":60,"drip_volume_ml":0.25,"days":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eco/drip-faucet", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"drips_per_minute": 60,
"drip_volume_ml": 0.25,
"days": 30
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eco.drip_faucet",
"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
Negative drip rates, volumes or durations fail with invalid_input instead of inventing a leak.
How dripping-faucet waste is calculated
Count the drips in one minute to obtain drips_per_minute. The calculator first converts days into minutes with the exact civil factor 1440 minutes per day, then multiplies drips per minute by those minutes to obtain total_drips, then multiplies by drip_volume_ml to obtain waste_ml, and finally divides by 1000 because there are one thousand milliliters in a liter. Written as one product: liters equals drips_per_minute times drip_volume_ml times 1440 times days divided by 1000.
Inputs, units, aliases and error behaviour
Send a JSON object with three required finite numbers: drips_per_minute, the count of drops falling each minute; drip_volume_ml, the volume of one drip in milliliters; and days, the duration of the leak. Each field also accepts a numeric string and a short list of aliases (drip_rate, drips, rate, dpm, drip_volume, volume_ml, volume, drop_ml, duration, duration_days, period_days, d) so spreadsheets and forms do not have to rename columns. Any negative value is rejected: a negative drip rate, a negative drip volume or a negative duration is not a physical leak, so the task fails with invalid_input that names the field. On success the response echoes the resolved drips_per_minute, drip_volume_ml and days, then reports minutes (days times 1440), total_drips, waste_ml, liters, a compact formula string, and the method label drip_rate_times_volume_times_minutes. There is no network lookup, no random draw, and no dependence on the current date: the same three numbers always produce the same JSON.
Where a drip-faucet API earns its keep
If you later need a cost in currency, multiply liters by your local tariff; this endpoint stops at volume on purpose.
Integration use cases
Landlord and facilities work orders
Post one task per dripping fixture with the logged drip rate, drop volume and open-ticket days, then store liters beside the unit identifier.
Campaign and classroom widgets
Let visitors type a drip rate, a drop volume and a duration and see the wasted liters on a live tool that matches the API byte-for-byte.