About FootyCalc
Free square footage tools, computed entirely in your browser. Advertising loads only if you click Accept, and one anonymous performance beacon is loaded by our host — a Cloudflare edge script — which we disclose in full below and in the Privacy Policy.
Last reviewed:Our Mission
Measuring a room should take 30 seconds, not 30 minutes. Most online calculators bury the answer under ad clutter, force you to sign up, or use formulas nobody can trace. We built FootyCalc around three rules:
- Zero friction. The result changes the moment you type. There is no "Calculate" button, no captcha, and no email signup.
- Traceable accuracy. Every conversion factor on this site comes from a named, published source that you can open yourself, and every page lists its sources at the bottom.
- Nothing leaves your device. The arithmetic runs in JavaScript in your own browser. Typing a room size does not create a network request.
Who Builds This
FootyCalc is an independent publication owned and operated by Richard Taylor, based in Juneau, Alaska. It is one person, not a team — we would rather say so plainly than imply editorial staff we do not have. New pages and corrections are reviewed page by page against the sources listed on each page, and the review date is printed on the page.
Publisher information:
Richard Taylor1191 Aspen Blvd
Juneau, AK 99801
United States
How Our Calculations Are Verified
Three different kinds of claim appear on this site, and they are verified differently:
1. Unit conversions — from an exact, published table
Every square-foot, square-meter and linear-foot conversion on FootyCalc uses the factors published in
NIST Special Publication 811, Appendix B.8. The two we use most are
1 ft = 0.3048 m and 1 ft² = 0.09290304 m². NIST marks these as exact: its table of
conversion factors states "Factors in boldface are exact", and both appear in bold in that appendix.
You can check the row yourself at the link in the sources list below.
2. Geometry — from the definition, not from a citation
Rectangle, triangle, trapezoid, circle and L-shape areas are arithmetic identities, so we verify them by recomputing
each page's own printed figures with the shipped engine (js/calc-core.js) rather than by pointing at a book.
When a page's worked example does not equal what the widget renders, that page fails our test suite and does not ship.
Our floor-area measurement conventions follow ANSI Z765, the American National Standard for residential
square footage; where a guide discusses it, the specific clause wording is cited on that guide.
3. Waste factors and coverage rates — labeled assumptions, not standards
This is the part most sites get wrong, so we separate it out. The 10% and 15% waste presets on our flooring pages and the 350 sq ft per gallon wall figure on our paint pages are our stated assumptions, printed as assumptions on those pages. They are not quoted from a trade association, and we do not claim they are. Product coverage in the real world varies with surface porosity, color change, roller nap and number of coats, so the pages tell you to check the can you actually bought.
What Actually Loads When You Open a FootyCalc Page
Many sites publish performance badges. We would rather publish the page structure you can verify in ten seconds by viewing source, measured on our own pages on October 9, 2026:
| What loads | Measured on this site | How you can check it |
|---|---|---|
| External stylesheets | 0 — the CSS is inlined into the HTML | View source, search for rel="stylesheet" |
| Scripts we ship | 9, all first-party, all defer | View source, count script defer src="/js/ |
| Requests made by a calculation | 0 — area maths is local | DevTools → Network, type a size, watch the list stay empty |
| Ad requests before you choose | 0 | Clear site storage, reload, filter Network by "googlesyndication" |
| Ad requests after Accept | 5 external hosts, starting with pagead2.googlesyndication.com | Click Accept, reload, re-open the Network panel |
| Render-blocking script | 1, injected at the edge by our host (the Cloudflare beacon) — none of ours | View source: it is the only script tag without defer |
We deliberately do not publish Core Web Vitals scores or a "fast site" badge. A score measured from one laptop on one connection is not a property of the page, and we have no field-data source for real visitors, so we have nothing honest to report there.
Tap Targets We Actually Measured
Earlier versions of this page promised a 48 × 48 pixel minimum for every clickable element. We measured it and that promise was
false, so it is gone. Using a 390-pixel-wide viewport on /square-footage-calculator/ on October 9, 2026, the
real rendered sizes were:
| Control | Measured (w × h px) | Against WCAG 2.2 SC 2.5.8 |
|---|---|---|
| Number inputs (length, width) | 203 × 48 | Passes, with room to spare |
| Unit dropdowns | 90 × 48 | Passes |
Primary buttons (.btn) | 81 × 48 | Passes |
| Menu toggle | 48 × 48 | Passes |
| Shape tabs | 90 × 61 | Passes |
| Waste-factor chips (0% / 5% / 10% / 15%) | 49 × 40 | Passes the 24 × 24 CSS px minimum; below the 44 px platform guideline |
| Inline links inside paragraphs | as small as 69 × 19 | Exempt — WCAG excludes inline links in running text |
In short: everything you have to aim for is at least 40 px tall, and the inputs and buttons are 48 px, which satisfies the WCAG 2.2 AA minimum of 24 × 24 CSS pixels. The honest gap is that our waste-factor chips are 40 px tall — narrower than the 44 pt/48 dp guidance Apple and Google publish for touch targets. Making them bigger is a shared-stylesheet change across 100+ pages, so it is queued as a decision rather than quietly claimed as done. Navigation rows are not part of that gap: with the menu opened, each link measures 359 × 50 px at this width.
Claims We Deliberately Do Not Make
- No search-ranking claims. We do not say we are "#1", "the most accurate", or "the fastest", and we do not report where we rank in Google — we cannot measure it reproducibly from here.
- No audience statistics. We have not published "X million users" because we do not collect per-user data that would make such a number true.
- No standards we have not read. If a page cannot name the specific source for a figure, the figure is labeled an assumption on that page or it is removed.
- No response-time promise here. Our contact page states a reply target and says plainly that it is a target, not a contractual SLA — we have no ticket system that would make an SLA meaningful.
Worked Example: One Calculation, Start to Finish
Take the room that everyone measures first: a 12 ft × 12 ft bedroom. Here is exactly what our calculator does, with each figure recomputed by hand.
- You type 12 and 12. No request is sent; the handler in
js/calc-ui.jsrecomputes in memory. - Area:
12 × 12 = 144. The widget renders 144.00 — this is the number we read off the live control in the browser, not a number we typed into the page. - Convert to square meters using the NIST exact factor:
144 × 0.09290304 = 13.37803776, shown as 13.38 m². - Convert to square yards:
144 ÷ 9 = 16exactly, because 1 yd² = 9 ft² is a definition. - Perimeter (for baseboard and paint):
2 × (12 + 12) = 48linear feet. Subtract a 21 sq ft door and two 15 sq ft windows if you are estimating wall paint, which is the deduction our room-size pages print. - What touched the network during steps 1–5: nothing. With consent still unset, the Network panel shows requests to one host only — our own.
The reason we show the arithmetic is that you can catch us out. Every number in that list is either a definition, an exact published factor, or a value read off the rendered widget, and our test suite recomputes all of them on every build.
How We Make Money
This site is free to use. We cover hosting and development costs with Google AdSense (publisher ID
ca-pub-8351396994491171, published publicly in our ads.txt). Ads are labeled, never
placed inside the calculator, and the AdSense script is not loaded at all until you click Accept on the banner.
If you click Decline, no advertising script is fetched during that visit. See the
Privacy Policy for the full list of parties involved.
Your Privacy
Your measurements never leave your browser. We do not store calculation history and we do not run a database of user data — there is nothing to breach, sell, or hand over. Two things are still loaded by our infrastructure rather than by our own code, and we disclose them instead of glossing over them:
- Server logs at our host (Cloudflare Pages) for each request.
- A Cloudflare performance beacon injected at the edge into every HTML response. It collects browser performance data, does not set or read cookies or storage, and Cloudflare states that it discards the IP address at the nearest data center. It is not gated by our consent banner, because our banner does not control it.
You can decline advertising cookies at any time using the banner or the reset button in the Cookie Policy.
Contact & Feedback
Found a bug, a formula you would like to see added, or an arithmetic mistake on a page? That last one is the most valuable kind of message we can receive. Head to our contact page or write to the postal address above.
Sources and How to Check This Page
- NIST Special Publication 811, Appendix B.8 — Factors for Units Listed Alphabetically (.gov). Check that "square foot (ft²) → square meter (m²) 9.290 304 E-02" and "foot (ft) → meter (m) 3.048 E-01" are printed there in bold, which the page defines as exact.
- W3C WAI — Understanding SC 2.5.8 Target Size (Minimum). Check the stated requirement is 24 × 24 CSS pixels and that inline links in running text are an exception.
- Cloudflare — RUM beacon for Web Analytics. Check the sentence that the beacon "does not store any data in the browser or access any storage data, such as cookies, localStorage, sessionStorage, IP address, or IndexedDB", and that the IP address is discarded at the nearest data center.
- Our own shipped code and build output, which is the fourth source and the easiest to verify: /square-footage-calculator/ for the controls measured above,
/js/calc-core.jsfor the arithmetic, and /ads.txt for the publisher ID.
Figures on this page were re-measured on . The measured values, the
competitor pages we compared against, and a list of the statements we could not source (and therefore removed) are kept
in our internal audit ledger at data/content-audit/evidence/raw9/; we mention it so that the claim "we keep
receipts" is itself checkable rather than decorative.