Paint Coverage Calculator
Calculate exactly how much paint you need for a room, accounting for walls, optional ceiling, doors and windows, and multiple coats. Avoid wasting money on too much paint or making unnecessary trips back to the store.
Check your paint tin - typically 300-400 sq ft per gallon.
Approximate area of doors and windows to subtract.
How it works
Wall area is 2 x (length + width) x height. Add ceiling area if needed, then subtract the area of doors and windows. Multiply by the number of coats and divide by the paint's coverage rate to get gallons needed.
Area = 2(L+W) x H + Ceiling - Doors/Windows | Gallons = Area x Coats / CoverageExample. A 15 ft x 12 ft x 9 ft room with 2 coats at 350 sq ft/gallon needs about 2.5 gallons for the walls.
Frequently asked questions
Should I buy extra paint?
Yes - always add 10% for touch-ups and waste. The calculator gives the minimum; buying one extra quart or litre is usually wise, especially if you might need to do touch-ups later.
Does paint coverage vary?
Yes - flat and matte paints typically cover 350-400 sq ft/gallon, while semi-gloss and gloss cover slightly less (300-350). Dark or vivid colours over light surfaces may need an extra coat.
Related calculators
Embed this calculator
Free to use on any site. Please keep the credit link.
<iframe
id="letmecalc-paint-calculator"
src="https://letmecalc.com/embed/construction/paint-calculator"
title="Paint Calculator"
width="100%"
height="620"
style="border:0;max-width:100%"
loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/construction/paint-calculator" target="_blank" rel="noopener">Paint Calculator</a> by letmecalc</p>
<script>
(function () {
var f = document.getElementById("letmecalc-paint-calculator");
window.addEventListener("message", function (e) {
if (e.origin !== "https://letmecalc.com") return;
if (!f || e.source !== f.contentWindow) return;
var d = e.data;
if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
if (typeof d.height === "number" && d.height > 0) {
f.style.height = d.height + "px";
}
});
})();
</script>