Construction drawing review, markup and calibrated takeoff. Free, open source, and it works with the network off.
Windows · macOS · Linux — mobile targeted, not yet shipped
Version 0.1 — an unsigned preview. The core is built and tested; the shell is young. Release binaries are not yet code-signed, so your operating system will warn on install. 0.1.1 cannot update itself — a later version means one reinstall by hand — and only the Windows build has been run by a person. What is verified and what is not is listed in the status page, gaps included.
That single decision is what separates a review desk from a document annotator. A revision cloud carries who raised it, against which revision of which sheet, in which discipline, what it measures, who owns it and when it is due. The shape on screen is one projection of that record; CSV, XFDF, BCF and a flattened PDF are others.
Clouds with real scalloped arcs, callouts, stamps, symbols, issue pins — and highlight and strikeout that select actual glyphs, so a selection across three lines draws three bands rather than one block over the margins.
Every quantity keeps the raw page magnitude it came from, so re-calibrating a page re-derives every measurement on it. An uncalibrated measurement reads as underived, not as zero.
The takeoff sits beside the drawing and moves as you measure, totalled by cost code and unit — so a length and an area never add up into one plausible, wrong number. What is not counted is said in words underneath rather than dropped.
What moved between two drawings, by how much and in which direction, as a CSV for the bill of quantities. The lines that did not move are in it too: otherwise a line that held and a line nobody compared look exactly alike.
A plan sheet and the enlarged detail beside it are different scales. A document-wide factor produces confidently wrong numbers on half the set.
Two issues are aligned before they are compared, because plot origins drift. Each markup gets a verdict — unchanged, relocated, or needs a human — instead of being silently reapplied over content that has since changed.
A CSI spec book parses into addressable sections and clauses, so 07 84 00
§1.2.A is something you can click rather than a string somebody typed.
Every act is a hash-chained audit entry. Altering one breaks every digest after it, and verification names the first failure. Tamper-evident — and honest about not being tamper-proof.
SheetForge ships with its own drawing, and opens it the first time you start the application. It is a two-page sheet with a title block, a column grid, a legend and a graphic scale — not a blank page with a logo on it. Mark it up as hard as you like.
That is the whole lesson, and it is the one thing a takeoff tool has to teach before anything else: a quantity is only worth what its scale is worth, so check the scale against something the drawing already tells you. Everything after that is detail.
Bluebeam Revu is the tool this industry runs on, and it is a good one. It is also per-seat and increasingly subscription-gated, which puts it out of reach of the subcontractors, small consultancies and public-sector teams handed the same drawings.
| SheetForge | Bluebeam Revu | General PDF editors | |
|---|---|---|---|
| Licence | Apache-2.0, free | Per-seat subscription | Per-seat subscription |
| Platforms | Win · macOS · Linux — mobile targeted, not yet shipped | Windows (iPad viewer) | Varies |
| Markups as structured records | |||
| Calibrated takeoff with provenance | |||
| Revision compare and slip-sheet migration | |||
| BCF round-trip to the coordination model | |||
| CSI specification parsing and citation | |||
| Tamper-evident audit trail | |||
| Works fully offline | Varies | ||
| Editing the PDF's own content |
The last row is the honest one. SheetForge does not rewrite the text and graphics inside somebody else's drawing, and it is not going to. On a construction job the issued PDF is the governing document; editing it is a liability, not a feature.
No account, no cloud, no telemetry. The only outbound connection in the product is the update check, and it can be turned off.
Drawings, markups, scales and the audit trail in one .sfproj directory you
can see, back up and hand to somebody. Delete it and it is gone; there is no other copy.
Source PDFs are stored byte-identical and addressed by SHA-256. A package whose drawings were altered on disk fails its integrity check rather than opening with different drawings than the markups were made against.
No filesystem plugin, no shell, no generic bridge, and no command that accepts a path. File pickers run on the native side and only an opaque id crosses back.
Needs Node 20.11+, Rust 1.82+ and your platform's Tauri prerequisites.
git clone https://github.com/ibuilder/SheetForge.git
cd SheetForge
npm install
npm run desktop:dev