QUIRE
local PDF operations · nothing leaves this device
loading engines…

Merge PDFs

Combine multiple PDFs into one. Order with the arrows. Runs entirely in the tab — no upload.

Drop PDFs here or click to chooseaccepts multiple · reorderable

Pages · split · rotate · delete

Load one PDF, then reorder (drag or arrows), rotate, or delete pages. Select a subset and Export selected to split.

Drop one PDF or click to chooserenders thumbnails locally

Images → PDF

JP/PNG → a single PDF, one image per page, sized to the image. Order with arrows.

Drop images or click to choosejpg · png · multiple

PDF → images

Render each page to PNG at chosen scale. Downloads each page; high scale = sharper, larger files.

Drop one PDF or click to chooserenders page-by-page

Extract text

Pull the embedded text layer. For scanned documents with no text layer, use OCR on the server side (next panel).

Drop one PDF or click to choose

Heavy operations → the QUIRE MCP server

OCR, true compression, Office↔PDF, table extraction, redaction, encrypt/sign — these need binaries (Ghostscript, ocrmypdf, LibreOffice, PyMuPDF) that don't belong in a browser tab. They live in the companion MCP server, which any agent (Claude, ChatGPT/Codex, Grok) can drive.

$ pip install -r requirements.txt
$ python quire_mcp.py            # stdio MCP server

# Claude Desktop / Code / Cowork  →  add to mcp config:
#   "quire": { "command": "python", "args": ["quire_mcp.py"] }
#
# Files live in your OneDrive folder; sync handles every device.
# Tools: ocr · compress · office_to_pdf · extract_tables ·
#        redact · encrypt · decrypt · merge · split · sign

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.