pdf2takeoff
Free, open-source construction takeoff software in your browser. Quantity takeoff from PDF drawings, scans and DXF files: set the scale, measure lengths and areas, auto-count symbols, export to Excel, save markups that open in Bluebeam. Drawings never upload. CLI and MCP server for AI agents.
Install / Use
claude mcp add ajflow -- npx -y github:ajflow/pdf2takeoffIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of pdf2takeoff
pdf2takeoff scores 83/100 on our quality scale, 3024th of 4,642 Development & Engineering skills we index.
Its MCP Server is 24 KB long, well organised into 17 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 4 days ago, so pdf2takeoff is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
pdf2takeoff compared with similar skills
All 4 of these similar skills score higher than pdf2takeoff; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| pdf2takeoff (this skill)by ajflow | 83 | 3 | 4d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 108.3k | 2d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 107.8k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.6k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 68.9k | today | CLAUDE.md |
Frequently asked questions
- How do I install pdf2takeoff?
- Run
claude mcp add ajflow -- npx -y github:ajflow/pdf2takeoff. The install tabs above show the steps for each supported agent. - Which AI agents does pdf2takeoff work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is pdf2takeoff safe to use?
- It is Apache-2.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is pdf2takeoff still maintained?
- The repository was last updated 4 days ago, so pdf2takeoff is actively maintained.
Skill content
View source on GitHubpdf2takeoff: free, open-source construction takeoff software
PDF in, quantities out.
pdf2takeoff is free, open-source (Apache-2.0) construction takeoff software that measures and counts PDF drawings, scans and DXF files in your browser at pdf2takeoff.com, without uploading them, plus a headless Node CLI and an MCP server for AI agents built on the same engine.
Try it
- In the browser: open pdf2takeoff.com. No account, no install; open a drawing or try the sample sheet.
- From the command line (Node 22.13+, runs straight from GitHub):
npx github:ajflow/pdf2takeoff info drawing.pdf - As an MCP server for AI agents (Claude Code):
claude mcp add pdf2takeoff -- npx -y github:ajflow/pdf2takeoff mcp
What is pdf2takeoff?
pdf2takeoff is quantity takeoff software for estimators, quantity surveyors, builders and trades. Open a drawing, set its scale, and measure lengths, areas, perimeters, volumes, angles and counts. Totals group by label and export to CSV or Excel. Markups save back into the PDF as standard annotations that open in Bluebeam Revu and Adobe Acrobat, so a takeoff moves between pdf2takeoff and the tools a team already uses.
It is free: no account, no file limits and no paid tier. Processing is local: drawings are never uploaded, the app has no telemetry (the website counts page visits with cookie-free Cloudflare Web Analytics, which never sees a drawing), and the app keeps working offline once the page has loaded, so it suits confidential tender documents. It is made by Flowtivity on the Gold Coast, Australia.
Key features
- Opens the files you're sent: PDFs, including scanned PDFs (CCITT fax, JBIG2 and JPEG 2000 images); PNG, JPEG, HEIC (iPhone photos), TIFF (multi-page, Group 4 scans included), WebP, GIF, BMP, AVIF and SVG images; pasted screenshots; and several files at once as one set.
- CAD drawings (DXF): an ASCII DXF opens as a vector page with its scale already set from the file's units, and Scan counts its blocks exactly. For DWG, export a DXF or PDF first.
- Scale you can check: pick a preset, click a known dimension, or let OCR read the title-block scale or a printed dimension off the sheet. A scale chip shows whether the current scale can be trusted. On CAD sheets it also measures the printed dimensions against their drawn lines, so a title block that says 1:100 on a sheet drawn at 1:50 is caught before it doubles every length.
- Measure: length, area, perimeter, volume, angle and count. Magic Fill reads a room's area off the walls with one click inside it.
- Scan (auto-count symbols): click one symbol and every match on the page is counted in about 100 ms by local computer vision, with an optional in-browser ONNX detector for cluttered sheets. Results arrive review-first (Keep all, Review, Undo), and doubtful hits stay flagged for a person to check.
- Bluebeam and Acrobat round-trip: save markups into the PDF as standard annotations; reopen the file and the takeoff comes back.
- Export and organise: CSV, Excel (.xlsx) and a printable quantity report; custom formula columns (waste factors, rates), statuses and layers.
- Revision compare: overlay two revisions of a sheet to see what was added and what was removed.
- A focused workspace: light and dark themes, a ⌘K command bar, a quantities panel with live totals, and live sessions that share a takeoff between browser tabs.
- For AI agents and scripts: a headless Node CLI and an MCP server with 15 tools, so Claude, Cursor, Codex and other MCP clients can run a takeoff locally and hand back a marked-up PDF for a person to review. Optional AI counting from the CLI uses your own model key (OpenRouter, OpenAI, Gemini or a local model) and sends only the page you choose to the provider you choose; every AI item arrives flagged for confirmation.
Is it an alternative to Bluebeam Revu or PlanSwift?
For PDF takeoff, yes: pdf2takeoff is a free, open-source alternative to paid takeoff tools such as Bluebeam Revu, PlanSwift and On-Screen Takeoff. It does not match every feature of those products. The feature-by-feature position against Bluebeam Revu, including what we deliberately won't build, is in docs/feature-comparison.md.
The licence is Apache-2.0. To our knowledge pdf2takeoff is the only permissively licensed takeoff engine in a field of AGPL competitors, so you can embed and bundle it.
How accurate is it? Benchmarks and evals
We publish what the engine scores, how every number was produced, and what it is still bad at, including a benchmark we built and gave away (CC BY 4.0, usable by anyone, including to beat us):
- ScaledDrawingBench v0.1 (ours, deterministic, seeded): 99.8% on born-digital (CAD-exported) sheets, 37.3% on degraded scans (up from 23.0%; the improvement log is part of the disclosure), 0 hallucinations on 92 unanswerable-by-design questions (benchmark)
- AECV-Bench (external, public): 0.295 five-field exact match with a deterministic engine and no vision model; bedroom/toilet counts at 0.708/0.500 from a label dictionary + OCR alone. With the opt-in AI count on GPT-6.1 Sol: 0.585, against 0.572 for the same model on the benchmark's own prompt and 0.543 for the best published model, so most of that gain is the model (details)
- AEC-Geometric-Bench (external, released scorer): wall pixel F1 0.519, about 1.8× the best frontier VLM on the identical sheets (0.18 to 0.29), area precision 0.943, object F1 0.031 at the frontier-VLM range; a click-free deterministic engine, no GPU, ~23 s per sheet (details)
- ResPlan-FP (external, public, 1,000-plan test split): wall F1 0.635 (tolerance 0.05) from the deterministic engine with no model, no GPU and no clicks. A fine-tuned wall model scores 0.968 and Gemini 3.1 Pro 0.811 on a 200-plan subset, so this is a published gap, not a lead (details)
- ~100 ms CV scan, 1.6 s cached in-browser ONNX scan, 76 MB model: in-browser, nothing uploaded
- A correctness gate on every push: ten behavioural checks + the takeoff bench + MCP smoke + PDF round-trip in CI
Everything regenerates from this repo with one command per table; see evals/README.md.
Phase plan: the Roadmap below. Feature-by-feature position against Bluebeam Revu, and what we deliberately won't build: docs/feature-comparison.md. Hosting cost model: docs/hosting-cost-controls.md. Licensing rationale: Why open source?.
What it does today
- Viewer: open any PDF drawing; zoom, pan, multi-page (PDF.js)
- Images and scans too: open, drop or paste (⌘V / Ctrl+V) PNG, JPEG, HEIC (iPhone photos; decoded locally with libheif, LGPL-3.0, loaded only when a HEIC is opened, where the browser can't decode it), TIFF (multi-page; black-and-white Group 4 scans pass straight through, never decoded), WebP, GIF, BMP, AVIF or SVG; drop several files (images and PDFs) to open them as one set in file-name order. Each image becomes a page (wrapped as a PDF, so every tool, export and Save into PDF works). A scan that states its resolution (300 dpi and so on) keeps its paper size, so printed ratios like 1:100 apply; other images are calibrated from a dimension, and ratio presets refuse rather than give wrong lengths.
- CAD (DXF): an ASCII DXF opens as a vector page at a standard scale (1:50, 1:100, ...) worked out from its
$INSUNITS, so its scale is set with no calibration (MCPopen_documentreports it and pre-sets it too). Blocks are expanded through their inserts, so Scan counts doors and fittings exactly; TEXT and MTEXT become real text wrapped to its box; hatches show as tones beneath the linework; frozen and off layers and paper space are left out. DWG gets a plain "export DXF or PDF" message. - Scale calibration: click both ends of a known dimension and type its real length, or pick a preset (1:50 … 1:500, 1/8″ = 1′-0″, 1/4″ = 1′-0″, 1″ = 10′/20′/30′). Each page keeps its own scale. Metric and imperial. Multi-scale viewports (W): outline a region drawn at a different scale (a 1:20 detail on a 1:100 sheet) and measurements inside it resolve to that scale automatically.
- OCR auto-read: click both ends of a printed dimension and hit Auto-read from sheet — the value ("12.00") or the title-block scale ("1:100") is read straight off the drawing. First use fetches the OCR language pack (~4 MB, then cached); drawings still never leave your machine.
- Takeoff tools: Length (segmented runs), Area, Perimeter, Volume (area × depth), Angle (scale-free) and Count, with live measurements on the drawing and per-label group totals
- Scan (auto-count): press
Sand click one instance of a repeated symbol: a local computer-vision pass (rasterize → binarize → connected components → shape matching) finds and counts every match on the page in ~100 ms, no model download and nothing uploaded. Hits land as flagged proposals (⚑) — confirm (✓) or delete them, and the totals show a live kept-rate per label (kept/proposed: every deletion is a judged false positive), so the tool's accuracy on your symbols is always visible. A trained v1 detector ships with the site (five classes: downlight, GPO, switch, smoke alarm, diffuser — manifest inpublic/models/symbols.json): on cluttered sheets the same click upgrades automatically to an in-browser ONNX detector (onnxruntime-web, WASM) that labels hits by class, with automatic fallback to the CV pass if the model can't load. The ~76 MB model is fetched once from GitHub and cached; drawings still never leave your machine. Self-hosting or retraining: drop your ownsymbols.onnx+symbols.jsonintopublic/models/— the pipeline is intraining/. - Markups list: rename labels, jump to page, delete; flag / confirm statuses that round-trip through the PDF; filter by status, search by label, sort; one-click Clear; export CSV, a real Excel workbook (.xlsx), or copy straight into a spreadsheet
- Printable report: one click builds a print-ready quantity report: every marked sheet re-rendered with its markup overlay, per-sheet quantity tables, and group totals; print or save as PDF from the browser
- Editing: drag whole markups or individual vertices with live value updates; Ctrl+Z restores the pre-drag geometry; calibrate once and apply the scale to every page in the set
- Magic Fill: click inside a room to read its area off the walls (flood fill + boundary trace). On CAD PDFs that keep the architect's layers, furniture, finish hatching, notes, services and structure-above layers are left out of the fill's own render (what you see is unchanged), so a furnished plan fills to the walls; if that lets a fill run through a doorway into another named room, it fills on every layer instead. Doorways between wall ends close automatically: from the calibrated scale, from room labels in the text layer, from the vector layer (any angle), or, on an uncalibrated scan with none of those, from the door width the sheet itself shows. Wide open-plan openings stay open; a diagonal door on a scan with no vector layer can still leak
- Custom columns: formula columns over quantities (waste factors, rates) in totals and every export;
value * 1.1style, no code - Notes: pin a note anywhere (T); round-trips through the PDF
- Layers: place per trade and hide layers while measuring the next; layer names ride inside the PDF
- Tool library: save a tool + label once (e.g. Length "Skirting", Count "Downlight DL-100"), then click the c
Truncated for display — read the full file on GitHub.
Related Skills
taste-skill
108.3kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
107.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.6kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
68.9kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
