How long does it take to heat a pool?
Raising 10,000 gallons by 10°F takes about 244.5 kWh of heat. A heater delivering 100,000 BTU per hour supplies about 29.3 kW, so the water needs at least 8.3 hours of heating.
Actual warm-up takes longer because the pool loses heat as it warms. A cover and shelter from wind reduce that loss. On a cold, windy day a small heater may struggle to reach the target.
Find your heater’s output rating
Use the heat delivered to the water, shown in kW or BTU per hour. A heat pump’s electrical power draw and a gas heater’s fuel-input rating are different from delivered output.
Use the manufacturer’s rating for conditions close to your air and water temperatures. To convert BTU per hour to kW, divide by 3,412.14.
How the estimate works
Heating energy in kWh = liters × 4.186 × temperature rise in °C ÷ 3,600. Divide that energy by delivered kW to get hours. For a temperature rise in °F, multiply the rise by 5/9 first.
The result covers warming the water. Maintaining the temperature needs additional heat, depending on the weather, cover, pool surface area and operating schedule.
Common questions
Will a pool cover speed up heating?
Yes. A cover reduces heat loss, especially evaporation, so more heater output goes into raising the water temperature. The calculator gives the heating time before those losses.
Is the kWh result my electricity use?
It is the heat delivered to the water. For a heat pump, divide thermal kWh by its actual coefficient of performance to estimate the electricity for that heat. Include heat loss and other equipment to estimate a full bill.
What size pool heater should I buy?
Use the calculated output as a starting point, then allow for heat loss. Check the manufacturer’s sizing guidance for your pool surface area, climate, cover and desired heating schedule.
Sources & calculation notes
Check the original source for product-specific instructions and current details.
- NIST Chemistry WebBook: water, liquid heat capacityChecked 2026-10-27
- NIST: SI units of volumeChecked 2026-10-27