Every tool, explained
by the app itself.
39 articles, one per tool in the catalogue. Each one is the same answer the in-app assistant gives, with a badge read from the licence check that actually runs — so nothing here can promise you something the app then refuses.
39 tool articles across 7 categories, plus 10 general answers.
Grouped the way the workspace groups them.
The same 7 headings the tool rail uses, in the same order. A tool sits in the section you would look for it in the app, not in a category invented for this page.
Review
4Organize pages
9Edit & sign
4Convert & compress
4Protect
4Legal
12What the panels actually look like.
4 illustrated walkthroughs, photographed from the running app rather than drawn. The rest of this page tells you what a tool is for; these tell you which control to press.
Getting a document into the workspace
Four ways in, and the two keystrokes worth learning on the first day.

- 1Open a PDF, or start from nothingWith no document loaded the workspace shows three tiles. “Open a PDF — drop or browse” opens your file picker; “Blank page — start empty” creates an empty document; “Template — letter, memo…” opens a picker of built-in layouts.
- 2Or drop the file anywhere on the windowThe whole workspace is a drop target, not just the tile. A dropped PDF opens into the tab you are looking at. Only file drags count — dragging a page inside the Organize grid does not trigger it.
- 3Press O to open, ⌘\ to show or hide the panelO opens the file picker when nothing else has the keyboard — so it will not fire while you are typing in a field. ⌘\ (Ctrl+\) toggles the inspector panel on the right, which is where every tool draws its controls.
- 4Press ⌘K and describe the job⌘K (Ctrl+K) puts the cursor in the command bar along the bottom. Type what you want — the example phrases on each article above are the assistant's own routing examples, and any of them opens the matching tool.
- 5Nothing you open is uploadedThe file is read in the browser. The status strip says so while you work, and the panel of every tool below repeats it at the point where the work happens.
Every step above was read out of the app's own source, and a test fails if the control it names is renamed. The picture is a real capture of the running workspace at 1280 × 800, signed in to nothing and holding no licence — but it is taken by hand, not on every build, so read it as the shape of the panel rather than proof of today's release.
Getting the on-device AI working.
This is the procedure. For which models exist, what each one weighs, the full ladder of what a given machine is offered and the argument for why any of it is worth doing, read Local AI — this section links across to it rather than repeating it.
What “local” means, in plain language
Two small models download once and then live in your browser's storage on this device. After that the document and the model are in the same tab: running one is a function call, not a request. The names below are the readiness panel's own — the same words the app uses when it asks you to download them.
Understanding what you type in the command bar, and Pre-discovery search
Finding names and other sensitive details in a document, and Privilege review
Together they come to ~155 MB, and each is asked for separately at the moment a feature first needs it — agreeing to one is not agreeing to the other. Neither writes text: drafting document text, answering questions in the command bar is a separate, larger, opt-in download whose size depends on your hardware.
A feature says the AI is not ready
Open the AI readiness panel from the workspace header. It lists each model by the capability it provides, with its size, and downloads on your say-so. Nothing is fetched in the background.
You are asked to download again
The weights live in your browser's cache, not your account. Clearing site data, a private window, or the browser reclaiming space removes them — so you are asked once more rather than charged the bandwidth silently.
Nothing fits your machine
The drafting model is picked from a ladder after probing the device, and it declines with a reason instead of failing halfway through. A weaker machine is offered a smaller model — see the ladder on the Local AI page.
Connecting your own Ollama or LM Studio server
Optional and advanced: it is for someone who already runs a local model server and wants a larger model than a browser tab can hold. Chat with PDF and Summarize then send document excerpts to that endpoint — your machine — and the code refuses to send them anywhere else.
- 1Start the server and note its addressOllama listens on
http://localhost:11434by default; LM Studio onhttp://localhost:1234. Paste whichever you use into the AI panel's local server section, which is collapsed by default. - 2Tell the server it may talk to this pageThis is the step people miss. A browser will not let this page read another origin's server unless that server says it may. Set
OLLAMA_ORIGINSto this app's origin and restart Ollama; in LM Studio, enable CORS in the server settings. - 3Press Test connectionThat click is the only thing that fetches — nothing dials out on page load, on import or on a timer, and a saved endpoint is remembered as text until you press it again. The three outcomes are below.
- 4Install a model, if the server has nonePDFMacro never pulls models onto your server. When it finds none it prints the command for you to run yourself, sized for the machine it detected:
ollama pull qwen2.5:7b4.7 GB · your machine can run a 7B model comfortablyollama pull llama3.2:3b2.0 GB · a good balance for this machineollama pull llama3.2:1b1.3 GB · small enough to run smoothly here
connectedPress “Use this server”. Chat with PDF and Summarize will run there from then on, and nowhere else — every request URL is checked against the endpoint you configured before it is sent.
origin-rejectedThis is the common one. For Ollama, set OLLAMA_ORIGINS to this app's origin and restart it. In LM Studio, turn on CORS in the server settings. Then press Test connection again.
unreachableCheck the server is running and the port matches. If the page is served over HTTPS from a public address, the browser's private-network rules can stop the request before it leaves, whatever the server is configured to accept.
These models are much less capable than a hosted frontier model, and how capable they are on your machine depends on your machine.
They are measured in hundreds of megabytes; the models you are comparing them to are orders of magnitude larger and run on hardware you do not have. On a long or subtle document you will find the difference — shallower reasoning, weaker recall across many pages, prose that needs editing. The two that download by default are good at bounded, checkable jobs: matching what you typed against what a document says, and finding names and other sensitive details. Generation is the part that suffers, which is why it is a separate opt-in and why connecting your own server exists at all. The full argument, and what we measured when a model failed.
Running the same steps again, unattended.
Workflow Builder lets you chain existing PDFMacro tools into a reusable pipeline — for example OCR, sanitize, Bates, watermark, protect, or eligible redaction steps — then save and run that workflow again. Free users can preview the builder; saving and running workflows require Pro.
Branch, retry and variables
The three controls that turn a list of steps into something you can point at five hundred files. Every bound and option name below is read from the modules that enforce them, so this cannot drift from what the builder will accept.
If… then / otherwise
Runs one of two short sequences, then carries on with the rest of the workflow.
A branch is a detour, not a fork the document never comes back from: one input, one output, two ordered lists in between. Branches may nest up to 3 deep. The same conditions drive the 3 flow steps — Continue only if…, Fail this file if…, and Stop here — which end a run cleanly, refuse the file, or stop at that point with a reason for the summary.
The conditions you can test: Always run · If document is scanned (no text layer) · If document has a text layer · If sensitive data (PII) was found · If privilege markers found · If file size exceeds threshold (MB) · If this text can still be found (whole document) · If the filing check finds a problem.
Retry
Try a step again when it fails, before anything else is decided.
The count is EXTRA attempts, not total attempts. The maximum is 5, so a step runs at most 6 times. The wait between attempts goes up to 60000 ms and is interruptible — cancelling a run does not leave it sitting inside the wait.
Retries come first; only the final failure reaches the step's on-error setting. “Continue” carries the previous bytes into the next step and records the failure, which is right when one malformed file in five hundred should not cost you the other four hundred and ninety-nine. It is refused on the pattern-redaction step (redact-pattern): a redaction may not be shrugged off.
Variables
Capture one value from a step and write it as {{name}} in a later step's text.
Scope is the whole pipeline, in execution order, last write wins — including a value stored inside a branch. An unknown name is never substituted with an empty string; it survives as a visible placeholder and the run warns, because a redaction step searching for nothing would otherwise report success.
- Whether this step's condition passed — “true” or “false”
- The sentence the condition produced — “0.4 MB ≤ 5 MB”
- The note this step reported — “14 matches redacted”
- How many pages the document has at this point
- How large the document is at this point, in MB
- Whether the document has a text layer — “true” or “false”
- How long this step took, in milliseconds
- The size of this step's output, in bytes
Price, privacy, offline, and what this does not do.
These are the assistant's own answers to the questions that are not about one tool — including the one where the answer is “no, and deliberately so”.
Pricing
PDFMacro has a free plan — unlimited, no caps, no ads, no signup — with the everyday PDF tools (view, organize, merge, split, extract, rotate, crop, compress, convert, protect, unlock, manual redaction, basic Sign & Fill). Everything else is one lifetime purchase of $79: Workspace and Workflows, every tool and every automation, including local AI, sensitive-data detection, Privilege review, Exhibit Binder, Mail Merge, Bates, OCR and batch processing. No subscription, and no separate AI add-on.
Offline use
Yes — PDFMacro runs in your browser and works offline for every tool once the page has loaded. AI features (sensitive-data detection, private AI assist, smart split, Privilege review) download a small model the first time online, then run locally on later use.
Privacy
Your PDF stays on your device. Every tool — redaction, OCR, AI detection, search — runs in this browser. Files are not uploaded to any server, and the app has no way to see them.
AI models
Semantic search and private AI assist use a small on-device embedding model (MiniLM). Named-entity detection uses an on-device NER model. Both download once when you first use an AI feature, then are cached locally in your browser and run offline.
Pro vs Free
Free is unlimited and needs no account: viewing, organize, combine, split, extract pages, rotate, crop, insert/delete/resize pages, remove blank pages, compress, convert, images ↔ PDF, protect, unlock, repair, manual redaction — drawing the boxes and burning them — basic sign & fill, comments, highlight, outline, page numbers, header/footer and the built-in templates. No caps, no ads, and no watermark on anything you export. Pro adds the trust suite (verifiable redaction with a certificate, AI detect sensitive info, pattern/bulk redaction, sanitize, document fingerprint, sign & certify), all on-device generative AI (Chat with PDF, summarize, AI drafting and the conversational assistant), the power tools (OCR, watermark, remove watermark, Bates, mail merge, form field recognition, compare, smart table extract, accessibility tags, custom font upload) and the full legal pack (Privilege review, pre-discovery search, Exhibit Binder, Table of Authorities, Citation Hyperlinker, filing check).
Supported formats
The workspace opens PDFs directly. Convert exports to Word-style output and archival PDF/A. Images ↔ PDF converts JPG/PNG images to PDF and can export PDF pages back to images.
Account & sign-in
Free tools work without an account. To use Pro features or sync licensing across devices, sign in from the account menu. Password reset lives on the sign-in screen.
Security architecture
PDFMacro processes documents entirely in your browser, so there is no server-side copy to compromise. Passwords you set with Protect encrypt the exported PDF itself. The Security Architecture page explains the model in detail.
Data retention
Documents are held only in this browser tab for the duration of your session, plus a local cache (IndexedDB) for the recent-files list and sidecar edits so you can resume. Nothing is stored on any server. Clearing browser storage removes everything.
Sending documents and collecting responses
PDFMacro doesn't send documents or collect responses, and that is deliberate rather than unfinished. Responses have to arrive somewhere, and PDFMacro doesn't run a somewhere — everything happens on your device, which is the whole point of the tool. Export the form and use a service you control to distribute it. What PDFMacro can do is Sign & certify: flatten the signed document and issue a certificate recording its SHA-256 fingerprint, so whoever receives it can check the file has not changed since.