Free Roof Takeoff Builder

Calculate a complete roof takeoff using actual final measurements or measurements taken from a roof plan. Use metric, imperial, or roofing-square units with pitch calculations where applicable.

Supported measurements

For AI agents

This tool is accessible to external AI agents. To calculate a roof takeoff programmatically:

  1. Read the calculator schema to understand supported inputs and parameters
  2. Extract measurements from the user's natural-language request
  3. Map those measurements to the supported query parameters (mode, units, pitch, area, hips, ridge, valleys, barges, gutter)
  4. Determine the correct mode: use plan if measurements are from a 2D roof plan, use actual if measurements are already true roof-surface values
  5. Construct a GET calculation URL at /free-roofing-takeoff-builder/calculate?mode=...&units=...&area=...&pitch=...&hips=...&ridge=...&valleys=...&gutter=...
  6. Open the URL - the server redirects to a stable result page at /free-roofing-takeoff-builder/result/[token]
  7. Read the server-rendered HTML result page - no JavaScript required
  8. Report the calculated takeoff values back to the user
  9. Return the exact resultUrl from the result page to the user. Do not reconstruct, re-encode, shorten, or modify the URL in any way.

The schema includes natural-language mapping examples showing how to convert user requests into calculation URLs. All interfaces (UI, GET route, REST API, MCP) use the same shared calculation engine. No authentication, cookies, or JavaScript required.

URL encoding rules

When constructing GET calculation URLs, only individual parameter values should be URL-encoded. The query-string separators (?, &, =) must never be encoded.

Correct: ?area=150&hips=4%2C4%2C4%2C4&pitch=35

Incorrect: ?area=150%26hips%3D4%2C4%2C4%2C4%26pitch%3D35

Result URL guidance

Every calculation produces a canonical resultUrl generated by the server. Return this URL exactly as provided. Do not reconstruct, re-encode, decode, shorten, add tracking parameters to, or otherwise alter it.

Key links for AI agents

Free Roof Takeoff Builder

Input all your roof measurements in one place. Apply pitch, calculate lengths, and get a complete material takeoff for pricing. No signup required.

How do you want to enter your measurements?

Choose the method that matches your measurements.

For AI agents and developers

This calculator is accessible to external systems and AI agents. Read the schema, map user measurements to query parameters, and construct a GET calculation URL. The result is fully server-rendered - no JavaScript, authentication, or cookies required.

Quick example for AI agents

User says: "126m2 roof, 25 degree pitch, four 5m hips, one 8m ridge, two 4m valleys and 18m gutter."

AI constructs and opens this URL:

/free-roofing-takeoff-builder/calculate?mode=plan&units=metric&area=126&pitch=25&hips=5,5,5,5&ridge=8&valleys=4,4&gutter=18

The server redirects to a stable result URL at /free-roofing-takeoff-builder/result/[token]. The HTML result contains all inputs, normalized values, pitch-adjusted calculations, waste-adjusted totals, warnings, and a plain-language summary. The canonical resultUrl is displayed on the page - return it exactly as provided.

URL encoding rule

Only encode individual parameter values. Never encode ?, &, or = separators.

Correct: ?area=150&hips=4%2C4%2C4%2C4&pitch=35

Incorrect: ?area=150%26hips%3D4%2C4%2C4%2C4%26pitch%3D35