View & Markup
Read, highlight, ink, add text, and sign — entirely in the tab. Flatten burns your marks into a new PDF. no upload · works offline
Don't have a PDF? Make one.
Drop any supported file and get a PDF — images, text, Markdown, HTML, CSV, code, all converted in the tab, no upload. Word, Excel and PowerPoint convert in the tab too (converters download once, then work offline); a local server with LibreOffice upgrades them to full layout fidelity.
Merge PDFs
Combine multiple PDFs into one. Order with the arrows. Runs entirely in the tab — no upload.
Pages · split · rotate · delete
Load one PDF, then reorder (drag or arrows), rotate, or delete pages. Select a subset and Export selected to split.
Images → PDF
JP/PNG → a single PDF, one image per page, sized to the image. Order with arrows.
PDF → images
Render each page to PNG at chosen scale. Downloads each page; high scale = sharper, larger files.
Extract text
Pull the embedded text layer. For scanned documents with no text layer, use OCR on the server side (next panel).
Stamp · brand · attach
Headers & footers, exhibit stamps, letterhead, and embedded files — entirely in the tab. no upload · works offline
Split on | for left|center|right. Tokens: {page} {pages} {date} {filename}
{n} auto-increments per page, {date} today. Burned into the page — for removable true annotations use the MCP server's add_stamp.
First page of a second PDF composed onto every page. Under rebuilds pages (form fields & annotations flatten — honest limit of in-browser composition; the MCP overlay preserves them). Over keeps them.
Files that travel inside the PDF — extract what's there (unpacks Acrobat portfolios), or embed new ones.
Frameworks · one-pagers
Consulting artifacts rendered deterministically from a JSON spec — 2×2 prioritization, RAPID, issue tree, A3, Business Model Canvas, value-stream map, fishbone. You (or your agent) supply the thinking; QUIRE renders the print-ready page. no upload · works offline
Five upload-ready Claude skills (claude.ai → Settings → Capabilities → Skills). Each teaches the method and hands the deterministic half back to QUIRE.
Inspect · sanitize
See what's really inside a PDF before you trust it — active content, external links, embedded files, size forensics, XFA, e-invoice data — then sanitize if needed. no upload · works offline
Guarantee tier: every page re-rendered as an image and rebuilt into a fresh PDF — no script, form, link, or embedded file can survive. Honest cost: the text layer is lost (the MCP server's pipeline re-OCRs; the browser can't).
Analyst calculators
The back-pocket toolkit — deal math, VC mechanics, ops proof — computed exactly, with the work shown, entirely in this tab. pure math · no upload · works offline
Ask your documents
Semantic search over your indexed PDFs with page-accurate citations — every hit says exactly which document and page it came from. Retrieval runs on the local server over 127.0.0.1; nothing leaves the machine.
# build an index from your agent (Claude/ChatGPT/Grok via MCP):
# index_build('Regulations/', 'regs')
# then run the server with the bridge:
$ QUIRE_BRIDGE=8765 python server.py
Heavy operations → local QUIRE server
OCR and true compression need binaries (ocrmypdf, Ghostscript) that don't belong in a browser tab. When a QUIRE server runs on this machine, the tab hands files to it over 127.0.0.1 — still nothing leaves the device.
$ pip install -r requirements.txt
$ QUIRE_BRIDGE=8765 python server.py # MCP server + this bridge
# bridge only: python -m quire.bridge
# Claude Desktop / Code / Cowork → add to mcp config:
# "quire": { "command": "python", "args": ["server.py"] }
#
# Files live in your OneDrive folder; sync handles every device.
# MCP tools: ocr · compress · office_to_pdf · extract_tables ·
# redact · encrypt · decrypt · merge · split · rag
The browser tab is for the operations that should never touch a network. The server is for the ones that need real binaries. Same filesystem (OneDrive), two faces.