Hand dryers vs paper towels
Eight hand dries a day add up to 2,920 a year: 13.432 kg of CO2e with a high-speed dryer against 43.8 kg with paper towels, a saving of 30.368 kg. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Quantity
- 8
- Days per year
- 365
- Annual uses
- 2,920
- Dryer g co2e per use
- 4.6
- Paper g co2e per use
- 15
Public restrooms force a daily choice between a jet of warm air and a stack of paper towels, yet the carbon difference is rarely visible at the sink. This hand-dryer versus paper-towel calculator takes the number of hand-drying uses in a typical day, multiplies by three hundred sixty-five calendar days, and applies two documented first-order life-cycle factors: 4.6 grams of CO2-equivalent per high-speed dryer cycle and 15 grams of CO2-equivalent per paper-towel dry of two sheets. The result is a pair of annual emission totals you can put next to a facilities bid, a green-building appendix, or a classroom worksheet: kilograms of CO2e if every dry used a modern dryer, and kilograms of CO2e if every dry used paper. Zero is allowed and correctly yields zero annual carbon for both options.
What the two carbon factors mean and how the annual product is built
Each hand-drying event carries a first-order carbon load that depends on the method, not on the soap or the tap. A high-speed jet dryer draws on the order of sixteen hundred watts for about twelve seconds, which is a few watt-hours of electricity; with a generic-grid intensity near 0.40 kilograms of CO2-equivalent per kilowatt-hour, the electricity alone is a little over two grams, and published life-cycle studies that also amortise manufacturing of the machine land near 4.6 grams of CO2e per cycle.
That 4.6 gram figure is the dryer factor used here. A paper-towel dry is typically two sheets. Pulp, converting, packaging, transport, and landfill or incineration of those sheets sit near 15 grams of CO2e per dry in the same first-order band used by the 2011 MIT hand-drying life-cycle assessment and later planning reviews.
The calculator does not invent a third method and does not let you edit the factors: it multiplies daily uses by 365 calendar days, then multiplies that annual count by 4.6 grams for the dryer path and by 15 grams for the paper path, and reports both totals in grams and kilograms. Eight uses a day become 2,920 dries a year: 13.432 kilograms with the dryer versus 43.8 kilograms with paper, a saving of 30.368 kilograms if the room switches from towels to a jet dryer.
One use a day is 1.679 kilograms versus 5.475 kilograms. Zero uses correctly yield zero on both sides. Conventional warm-air dryers that run thirty seconds or more can exceed paper on a per-dry basis; this capability models the modern high-speed class, which is the machine most green-building specifications now name.
The factors are frozen planning constants, not a live electricity-meter feed, so two calls with the same daily count always agree.
Where a dryer-versus-towel carbon comparison earns its keep
Facilities and procurement teams need a deterministic oracle that turns a restroom traffic count into two annual carbon line items before they lock a bid for jet dryers or a paper-towel contract. Green-building consultants and ESG reporters can attach the same pair of kilograms to a LEED, BREEAM, or internal Scope 3 appendix without embedding a spreadsheet of stale factors in every service.
Campus sustainability offices convert surveyed daily hand-washes in a dining hall or gym into expected kilograms so they can brief a student government vote with one number instead of a pamphlet of vendor claims. Teachers of environmental science and industrial ecology want a transparent formula students can audit: daily uses, 365 days, 4.6 grams per dryer cycle, 15 grams per paper dry, with a closed table they can quote in a methods section.
Exam generators and LMS plugins need an oracle that rejects a negative usage count and a non-numeric string instead of silently taking an absolute value and hiding a sign error. Failed validation does not consume balance. Keep the daily count inside the published range, pin the rounded annual kilograms in tests, and you get reproducible emission figures for bids, classrooms, and edge workers without standing up a life-cycle modelling stack of your own.
What you can do with it
Facilities bids and restroom retrofits
Turn a daily traffic count into annual CO2e for a high-speed dryer versus paper towels before locking a capital or janitorial contract.
Green-building and ESG appendices
Attach two reproducible kilogram totals to a LEED, BREEAM, or Scope 3 note instead of a vendor pamphlet of unverifiable claims.
Environmental-science worksheets
Grade dryer-versus-towel carbon problems with a deterministic oracle that rejects negative and non-numeric usage counts.
FAQ
Where do the 4.6 g and 15 g factors come from?
They are first-order life-cycle planning constants for a high-speed jet dryer cycle and a two-sheet paper-towel dry, in the same band as the 2011 MIT hand-drying assessment and later reviews. They are frozen model constants, not a live meter.
Are hand dryers better for the environment than paper towels?
For a modern high-speed dryer, yes, under these factors: 4.6 g of CO2e per dry against 15 g for two paper towels. Eight dries a day come to 13.432 kg a year with the dryer and 43.8 kg with paper.
Does this apply to older warm-air dryers?
No. Conventional warm-air dryers that run thirty seconds or more can emit more than paper per dry. The calculator models the modern high-speed class that most green-building specifications now name.
Can I change the emission factors?
No. The 4.6 g and 15 g values are fixed planning figures, so the same daily count always gives the same result. If your study needs other factors, apply them outside this comparison.
How much CO2 does switching from towels to a dryer save?
With eight dries a day, switching saves 30.368 kg of CO2e a year. With one dry a day the totals are 1.679 kg for the dryer and 5.475 kg for paper.
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/hand-dryers-vs-paper-towels \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"count":8}'const res = await fetch("https://api.kit.forhosting.com/eco/hand-dryers-vs-paper-towels", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"count": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eco/hand-dryers-vs-paper-towels",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"count": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eco/hand-dryers-vs-paper-towels", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"count":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"count":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eco/hand-dryers-vs-paper-towels", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"count": 8
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eco.hand_dryers_vs_paper_towels",
"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.
Limits
max_count | 1000000 |
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 usage counts are rejected as invalid_input so a sign error never invents a negative emission. The same pure arithmetic powers the free browser tool and the API at $0.002 per successful call.
What the two carbon factors mean and how the annual product is built
A negative daily count is not a physical restroom load and is rejected as invalid_input instead of a negative emission that would break ledgers and offset carts.
How to call the API and what comes back
A negative count is rejected with a message that a negative usage count cannot compare hand-dryer and paper-towel emissions, and that failure is not billed. Values above the published ceiling of one million uses per day are rejected so a unit mistake cannot explode the annual product. A formula string restates the three multiplies, and a short English message summarises both annual kilograms for display next to a form. Send a JSON body with one required finite non-negative number: count, the average number of hand-drying uses per day. Aliases uses, daily_uses, uses_per_day, hand_dries, dries_per_day, and n are accepted and mapped to the same field. The value may arrive as a JSON number or as a numeric string; missing fields, empty strings, and non-finite values fail with invalid_input naming count. On success the body echoes the rounded count, sets days_per_year to the constant 365, annual_uses to count times 365, dryer_g_co2e_per_use to 4.6, paper_g_co2e_per_use to 15, dryer_annual_g_co2e and paper_annual_g_co2e to the two products, and the same totals in kilograms as dryer_annual_kg_co2e and paper_annual_kg_co2e. saved_kg_co2e is paper minus dryer, so a positive figure means the dryer path emits less. lower_emission_option is hand_dryer, paper_towel, or tie. Pricing is a flat $0.002 per successful request with unit item. This endpoint does not size a dryer in watts, does not count sheets as a separate input, and does not convert kilograms into car-miles or tree-years.
Technical questions
How are annual dryer and paper-towel emissions calculated?
Send a non-negative daily count. annual_uses = count × 365. dryer_annual_g_co2e = annual_uses × 4.6. paper_annual_g_co2e = annual_uses × 15. Both totals are also returned in kilograms.
What happens if the usage count is negative or not a number?
The task fails with invalid_input. A negative or non-numeric usage count is not a restroom load, so the calculator refuses to invent a negative emission and the call is not billed.
Is zero daily uses allowed?
Yes. Zero is a valid closed-room or unused-fixture value and returns zero annual emissions for both the dryer path and the paper path, with lower_emission_option set to tie.
What does the hand-dryer versus paper-towel calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.