HVAC Load Calculator: Heating, Cooling, AC Tons, Furnace Size
Pricing
Pay per event
HVAC Load Calculator: Heating, Cooling, AC Tons, Furnace Size
Heating and cooling loads from a plain-text house or room description: Manual J-style heat balance with window solar gains, component breakdown, and air conditioner, mini-split and furnace sizes.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Jumble Mog
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Heating and cooling loads for a house or a room from one line of text. Describe it the way you would to a contractor (2000 sq ft house, 2 stories, R-13 walls, R-38 attic, double-pane windows, climate zone 5 or room 12 x 14 ft, 2 exterior walls facing south and west, 40 sq ft window on the west, zone 3) and you get back:
- The heating load in Btu/h and kW at the winter design temperature.
- The cooling load at the hottest hour of the design day, split into sensible and latent (moisture) heat, in Btu/h, kW and tons.
- Equipment sizes: the standard air conditioner size in tons, the mini-split or window unit size for small spaces, the furnace input at its efficiency (AFUE), the electric heat in kW, the sensible heat ratio and square feet per ton.
- Where the heat goes: heating and cooling by walls, ceiling, floor, windows, window sun, doors, air leakage, ventilation, people, appliances and ducts, with each one's share.
- Every assumption: anything you leave out (window type, insulation, air tightness, duct location, occupants) gets a usual value, and each one is listed so you can correct it.
- A chart: the loads by component and the cooling load through the design day.
It's made for:
- Homeowners checking whether a contractor's 4-ton quote fits a 2,000 ft² house, or what mini-split a bedroom, garage conversion or addition needs.
- HVAC contractors and salespeople getting a quick load before a full Manual J, and comparing upgrades (attic insulation, windows, air sealing).
- Energy auditors, architects and students who want to see which parts of a house drive its loads, and AI agents that need defensible heating and cooling numbers instead of a 500-ft²-per-ton rule of thumb.

How to use it
- Write Houses and rooms, one per entry. The form has examples.
- Optionally set the Climate zone for requests that don't name one, and the Units for numbers without one (US by default).
- Click Start. Each request is a row in the results, with its summary, chart and report.
What you can write
| You write | It means |
|---|---|
2000 sq ft house, 120 m2 apartment, room 12 x 14 ft, 4 x 3.5 m | The floor area, or a room's length and width |
2 stories, ranch, 9 ft ceilings, 2.5 m ceilings | Stories and ceiling height (8 ft if not given) |
climate zone 5, zone 2B, cz 4C | The US IECC climate zone (A moist, B dry, C marine) for the design conditions |
10°F winter, 95°F summer, -5°C winter, 32°C summer, indoor 68/76 | Outdoor design temperatures, and indoor setpoints (70/75 °F if not given) |
humid, dry | Outdoor moisture, for the latent load |
R-13 walls, R-38 attic, R-19 floor, uninsulated | Insulation R-values (RSI also read) |
slab, insulated slab, crawlspace, over a basement, over a garage | The floor |
cathedral ceiling, flat roof, apartment above, dark roof | The ceiling or roof |
single-pane, double-pane, low-e, triple pane, U 0.3, SHGC 0.25 | The windows |
200 sq ft of windows, 15% windows, 40 sq ft window on the west, blinds | Window area, orientation and shading |
2 exterior walls facing south and west, 3 exterior walls, 2 doors | A room's outside walls, and doors |
tight, average, leaky, 3 ACH50, 0.4 ach | Air leakage |
HRV, ERV, 60 cfm ventilation, mechanical ventilation | Ventilation air (ASHRAE 62.2 rate if no number) and heat recovery |
ducts in the attic, ductless, ducts in the basement | Duct losses |
3 bedrooms, 4 people, 500 W of computers, 80% AFUE | Occupants, extra heat gains, furnace efficiency |
The same as an object: {"floorArea": 1800, "climateZone": "6A", "wallR": 21, "ceilingR": 49, "windowType": "lowe", "ach50": 3, "ventilation": true, "recovery": "hrv", "floorType": "basement", "ducts": "conditioned"} or {"type": "room", "length": "4 m", "width": "3.5 m", "exteriorWalls": 2, "wallOrientations": ["S", "E"], "windows": [{"area": "3 m2", "orientation": "S"}], "climateZone": "4C"}.
Examples
2000 sq ft house, 2 stories, 8 ft ceilings, R-13 walls, R-38 attic, double-pane windows, climate zone 5→ heating 41,609 Btu/h (12.2 kW); cooling 29,235 Btu/h (2.44 tons, peak 2-3 pm); a 2.5-ton air conditioner and a 60,000 Btu/h furnace; 821 ft² per ton.room 12 x 14 ft, 8 ft ceiling, 2 exterior walls facing south and west, 40 sq ft window on the west, R-13 walls, zone 3, R-30 attic→ cooling 7,148 Btu/h peaking at 4-5 pm (the west window is two thirds of it); a 9,000 Btu/h mini-split; heating 2,388 Btu/h.1500 sq ft ranch in climate zone 2B, slab, R-19 attic, 200 sq ft of windows, leaky, ducts in the attic→ cooling 32,099 Btu/h, a 3-ton air conditioner; heating 27,449 Btu/h.3000 sq ft two story home, humid, 98°F summer, 30°F winter, low-e windows, ducts in attic→ cooling 40,324 Btu/h with 5,481 Btu/h latent, a 3.5-ton air conditioner.- The tight zone 6A house object above → heating 29,221 Btu/h, cooling 1.34 tons (1,348 ft² per ton).
How-to examples
Each example is a complete input; the results are from runs of the Actor (also listed under Examples).
How to calculate the heating and cooling load of a house
{"requests": ["2000 sq ft house, 2 stories, 8 ft ceilings, R-13 walls, R-38 attic, double-pane windows, climate zone 5"]}
Result: heating 41,609 Btu/h (12.2 kW) and cooling 29,235 Btu/h (2.44 tons, peak at 2-3 pm), so a 2.5-ton air conditioner and a 60,000 Btu/h furnace, at 821 ft² per ton.
How to size a mini-split for one room
{"requests": ["room 12 x 14 ft, 8 ft ceiling, 2 exterior walls facing south and west, 40 sq ft window on the west, R-13 walls, zone 3, R-30 attic"]}
Result: cooling 7,148 Btu/h peaking at 4-5 pm, two thirds of it from the west window, so a 9,000 Btu/h mini-split; heating 2,388 Btu/h.
How to find what size air conditioner a home needs
{"requests": ["1500 sq ft ranch in climate zone 2B, slab, R-19 attic, 200 sq ft of windows, leaky, ducts in the attic"]}
Result: cooling 32,099 Btu/h, a 3-ton air conditioner, and heating 27,449 Btu/h. Summer and winter design temperatures, humidity and window types can be given in the line too.
How to let an AI agent estimate HVAC loads
Add this Actor to the Apify MCP server with https://mcp.apify.com/?tools=jumblemog/hvac-load-calculator. The agent describes the house as the owner did and answers with the load and the equipment size, worked out room by room from walls, windows and climate, instead of a square-foot rule.
FAQ
Is this a Manual J? It's a simplified method in the spirit of ACCA Manual J, good for planning, checking quotes and comparing upgrades. Code compliance and final equipment selection need a full Manual J.
What do I need to know about the house? The floor area and a climate zone or design temperatures at least. Insulation, windows, air leakage and ducts improve the estimate.
Does it include latent (humidity) load? Yes, for humid climates.
Can I compare upgrades? Yes. Run the same house with better attic insulation or windows and compare the loads.
Does it work with Zapier, Make or n8n? Yes. Call the Actor with its Apify app or an HTTP request and pass the summary on.
Input
| Field | What it is |
|---|---|
requests | The houses and rooms, as lines of text or objects (up to 200 per run) |
climateZone | The climate zone for requests that don't give one or their design temperatures (4A when empty) |
units | For numbers without a unit: us (ft, ft², °F) or metric (m, m², °C) |
charts | Draw a chart for each request (default on) |
Output
One dataset item per request, also saved together in the run's OUTPUT record:
{"request": 1, "status": "ok", "type": "house", "title": "House, 2,000 ft², zone 5A","summary": "Heating 41,609 Btu/h (12.2 kW); cooling 29,235 Btu/h (2.44 tons: 27,328 sensible, 1,907 latent, peak 14:00-15:00); a 2.5 ton air conditioner and a 60,000 Btu/h (95% AFUE) furnace; 821 ft² per ton.","loads": {"heating": 41609, "heatingWatts": 12194, "coolingTotal": 29235, "coolingSensible": 27328, "coolingLatent": 1907,"coolingWatts": 8568, "coolingTons": 2.44, "peakHour": "14:00-15:00 solar time","heatingPerFloorArea": 20.8, "coolingPerFloorArea": 14.6},"equipment": {"nominalAirConditioner": "2.5 ton", "nominalMiniSplit": 30000, "sensibleHeatRatio": 0.935,"squareFeetPerTon": 820.9, "furnaceOutput": 41609, "nominalFurnaceInput": 60000, "afue": 0.95, "electricHeatKw": 12.2},"climate": {"climateZone": "5A", "outdoorHeating": 2, "indoorHeating": 70, "outdoorCooling": 90, "indoorCooling": 75,"moistureDifference": 15, "dailyRange": 22, "latitude": 41},"components": [{"component": "Walls", "heating": 8757, "coolingSensible": 3219, "coolingLatent": 0, "heatingShare": 0.21, "coolingShare": 0.11}, "..."],"building": {"floorArea": 2000, "wallArea": 2066, "windowArea": 300, "wallU": 0.0746, "ceilingU": 0.0262, "...": "..."},"imageUrl": "https://api.apify.com/v2/key-value-stores/.../records/001-House-2-000-ft-zone-5A.png"}
Every item also has data (the outdoor temperature and sensible cooling load for each hour of the design day), units, warnings, notes (the method and every assumed value), a Markdown report and links to the chart and report. A request that can't be computed has "status": "failed" and the reason in error, and isn't billed.
How it works
- Conduction: U·A·ΔT through each wall, the ceiling or roof, windows and doors. U-factors come from the R-values with framing, air films and finishes (R-13 wall → U 0.074, R-30 ceiling → 0.033); slab floors lose heat at the edge (F-factor 0.73 Btu/h·ft·°F, 0.54 insulated); floors over crawlspaces, basements and garages see part of the temperature difference.
- Cooling day: the outdoor temperature follows the ASHRAE daily profile below the design high; walls and roofs add a sol-air allowance for the sun on them; window solar gain is area × SHGC × shading × the sunlight on each window, computed every hour from a clear-sky sun on the 21st of July at the zone's latitude. The cooling load is the worst hour.
- Air: infiltration and ventilation at 1.08·CFM·ΔT (sensible) and 0.68·CFM·Δgrains (latent), with air changes per hour by tightness (or from ACH50), and HRV or ERV recovery.
- Internal gains and ducts: 230 Btu/h sensible and 200 latent per person (bedrooms + 1), 1,600 Btu/h of appliances in a house (300 in a room), and duct losses by location (attic 15% heating, 25% cooling).
- Equipment: the smallest standard air conditioner at or above 95% of the total load (Manual S allows up to 115%), mini-splits from 6,000 Btu/h, and a furnace whose input times its AFUE covers the heating load.
Pricing
You pay one low price per house or room, at the price shown on this page. The chart and report are included. Requests that can't be computed are never charged. If you set a maximum cost per run, the Actor stops before a request that wouldn't fit.
Speed
Each house or room takes a few milliseconds. A run through the API answers in about 10 seconds, including the cloud container starting.
Tips and limits
- An estimate, not a permit document: this is a simplified method in the spirit of ACCA Manual J, good for planning, checking quotes and comparing upgrades. Code compliance and final equipment selection need a full Manual J with the house's real dimensions by a designer.
- Design temperatures: climate zone values are representative; your local ASHRAE design temperatures can differ by 10 °F or more, so give them (
8°F winter, 93°F summer) when you know them. - Shape: without a length and width, a house is taken as a 1.5:1 rectangle with windows spread around it in proportion to the walls; give the windows by direction for a better cooling number.
- Sun: window gains use a clear sky with no overhangs unless you say
overhangsorblinds; trees and neighbouring buildings aren't modelled. - Oversizing: a bigger air conditioner than the load short-cycles and removes less moisture; the sensible heat ratio and square feet per ton help spot a quote that's too big.
- Limits: 200 requests per run; 20 to 100,000 ft²; up to 5 stories.
For AI agents and developers
This Actor works with the Apify MCP server, so AI agents can call it as a tool. Pass requests as plain text and read summary, loads, equipment, components and warnings. A direct API call that waits for the answer:
curl -X POST "https://api.apify.com/v2/acts/jumblemog~hvac-load-calculator/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"requests": ["2400 sq ft two story house, R-19 walls, R-49 attic, low-e windows, tight, climate zone 5"]}'
run-sync instead returns the run's OUTPUT: the status, the counts and every result as JSON.
In Python, with the apify-client package:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("jumblemog/hvac-load-calculator").call(run_input={"requests": [{"type": "room", "length": 20, "width": 20, "exteriorWalls": 3, "wallR": 0,"windows": [{"area": 30, "orientation": "W"}], "climateZone": "3A"}],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["summary"])
Credits
- Math: NumPy (BSD-3-Clause).
- Charts: Vega-Lite and vl-convert (BSD-3-Clause), with the Inter font (SIL Open Font License).
- Methods: the heat balance and air formulas of the ASHRAE Handbook of Fundamentals residential load method and ACCA Manual J (concepts, not their tables); sun position by the NOAA solar calculator equations (Meeus); clear-sky beam by Meinel; ASHRAE 62.2 ventilation rate; US IECC climate zones.