BTU Calculator (AC & Heating)
Size an air conditioner or heater in BTU from room area, climate, sun and occupancy.
Results update as you type.
About this calculator
A BTU (British Thermal Unit) is a unit of heat, and air conditioners and heaters are rated by how many BTU per hour they can move. This calculator estimates the capacity a room actually needs so you neither undersize the unit (which then runs flat out and never keeps up) nor oversize it (which short-cycles, wastes energy and leaves the room clammy). For cooling it starts from the U.S. EPA rule of thumb of about 20 BTU/h per square foot, then adjusts for ceiling height, sun exposure, occupancy and heat-producing rooms. For heating it scales the floor area by a BTU-per-square-foot factor that rises with a colder climate.
The cooling adjustments are: scale by ceiling height relative to the standard 8 ft; subtract about 10% for a heavily shaded room or add 10% for a very sunny one; add roughly 600 BTU for each occupant beyond the first two; and add about 4,000 BTU for a kitchen, where appliances throw off heat. As a worked example, a 300 sq ft moderate-climate living room with standard ceilings, average sun and two people needs about 300 × 20 = 6,000 BTU/h — a typical window-unit size. Heating that same room in a cold climate uses a factor near 60 BTU/sq ft, or roughly 18,000 BTU/h.
The result is also converted to tons and kilowatts and rounded up to a sensible unit size, using 1 ton of cooling = 12,000 BTU/h and 1 kW ≈ 3,412 BTU/h. So a 6,000 BTU need is about half a ton or 1.76 kW. These are planning estimates: a proper HVAC load calculation (Manual J) also weighs insulation, window quality, air leakage and local climate data, so treat the number as a well-informed starting point for shopping.
Frequently asked questions
How many BTU do I need per square foot?
For cooling, about 20 BTU per hour per square foot is the standard starting point, so a 300 sq ft room needs roughly 6,000 BTU. Heating needs more — from about 25 BTU/sq ft in a hot climate up to 60 in a cold one.
How do sun, people and kitchens change the number?
A very sunny room adds about 10% and a shaded one subtracts 10%. Each occupant beyond two adds around 600 BTU, and a kitchen adds about 4,000 BTU because appliances give off heat.
How do BTU convert to tons or kilowatts?
One ton of air-conditioning equals 12,000 BTU per hour, and 1 kilowatt is about 3,412 BTU/h. So a 12,000 BTU unit is 1 ton or roughly 3.5 kW of cooling.
Does ceiling height change the BTU I need?
Yes. The estimate is scaled against a standard 8 ft ceiling, so a 10 ft ceiling raises the requirement by about 25% because there is more air volume to condition. Set the ceiling height in the advanced options to account for it.
Is it bad to buy an oversized AC unit?
Yes. An oversized unit cools the air fast but switches off before it removes enough humidity, leaving the room cold and clammy and wasting energy through short-cycling. That is why this tool sizes to the load rather than just picking the biggest unit.
Does heating need more BTU than cooling for the same room?
Usually, and it depends heavily on climate. Cooling starts near 20 BTU/sq ft, while heating ranges from about 25 BTU/sq ft in a hot climate to 60 in a cold one — so a cold-climate room can need several times the heating capacity.
Can I enter the room area in square metres?
Yes. Switch the area units to square metres and the calculator converts internally (1 m² ≈ 10.76 sq ft) before applying the BTU-per-square-foot rules, so you can work in whichever unit your floor plan uses.
API — use this calculator from code
Call this calculator as a free JSON endpoint — no key required. Send the field values below as query parameters or JSON. Read the full API docs →
Endpoint
GET https://calculator.free/api/v1/btu/
curl
curl "https://calculator.free/api/v1/btu/?mode=cooling&units=sqft&area=300&climate=moderate"
JavaScript fetch()
const r = await fetch(
"https://calculator.free/api/v1/btu/?" + new URLSearchParams({
"mode": "cooling",
"units": "sqft",
"area": "300",
"climate": "moderate"
}));
const data = await r.json();
console.log(data.results);
Results are estimates for general guidance only, not financial, medical or tax advice.