PDFMacroPDFMacro
Help centre

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.

Browse by category

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.

Legal

12
Step by step, with pictures

What 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.

The PDFMacro workspace with no document open: a Get started panel offering Open a PDF, Blank page and Template, a list of named tasks below it, the tool rail down the left and the command bar along the bottom.
The workspace with nothing open. The three tiles are the ways in; the tool rail on the left is the same catalogue this help centre is grouped by.
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Local AI — how do I…

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
~45 MB

Understanding what you type in the command bar, and Pre-discovery search

Finding names and sensitive details
~110 MB

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.

  1. 1Start the server and note its addressOllama listens on http://localhost:11434 by default; LM Studio on http://localhost:1234. Paste whichever you use into the AI panel's local server section, which is collapsed by default.
  2. 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_ORIGINS to this app's origin and restart Ollama; in LM Studio, enable CORS in the server settings.
  3. 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.
  4. 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
It listed your models
connected

Press “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.

Something is running but refused this page
origin-rejected

This 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.

Nothing answered at all
unreachable

Check 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.

Before you rely on it

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.

Workflows

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.

What can be captured:
  • 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
General questions

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.

FAQ

Questions about the help centre.

How do I tell whether a tool is free or part of the licence?
Every article carries a badge, and the badge is not a description — it is read from the entitlement set the app enforces, so it cannot disagree with what happens when you press the button. 20 of the 39 tools are free with no account and no caps; the other 19 are included in the one lifetime licence. A few free tools host a licensed capability inside them — verified redaction inside the free Redact, table extraction inside free Extract — and those are named on the free tool's own article rather than left to be discovered at the gate.
Where does the text in these articles come from?
The same place the in-app assistant answers from. Each article's summary, explanation, alternative names and example questions are read out of the assistant's knowledge base at build time, and each Free or Lifetime badge out of the entitlement set that enforces it. Nothing on this page is written for this page, which is why the help centre and the assistant cannot tell you two different things about the same tool.
How do I get help for the tool I am using right now?
Press the Help control in the Workspace header while a tool panel is open and you land on that tool's article — the Redact panel opens the Redact article. With no panel open it opens this index instead. The Workflows builder has the same control, pointed at the branch, retry and variables reference, and the Workflows gallery at the Workflows overview. All of them open this one page; none of them keeps a second copy of the text.
Are the screenshots in the walkthroughs current?
They are real captures of the running app — not mockups, not drawings — taken on the free tier with nobody signed in, so the padlocks in them are the ones you would see. But they are taken by hand when a guide is written or revised, not regenerated on every release. A test proves the image on the page is the exact file that was captured and that no guide names a control the app no longer has; nothing proves the picture matches this week's build. Trust the numbered steps over the pixels, and tell us if a panel has moved.
Do the AI features need an internet connection?
33 of the 39 tools never touch the network once the page has loaded. 4 download a small on-device model the first time you use them and run offline afterwards — the weights are cached in your browser's storage on this device. The exception is Chat with PDF, which needs a connection to the AI server you run yourself, on your own machine.
My own Ollama server will not connect — what do I fix?
Almost always the origin. A browser will not let this page read another origin's server unless that server says it may, and Ollama refuses unknown origins by default — the refusal reaches page JavaScript looking identical to “nothing is listening”. Set OLLAMA_ORIGINS to this app's origin, restart Ollama, and press Test connection again. LM Studio has a CORS toggle in its server settings instead. The connection test names which of the two problems you actually have.
Are the on-device AI models as capable as a hosted model?
No. They are small enough to sit in a browser tab beside your document, which is what makes them private and is also what limits them: shallower reasoning, weaker recall across a long document, and prose that needs editing. What you get also scales with your hardware — a machine with a GPU is offered a larger model than a four-core laptop. If you need more than the device can hold, connect your own server and run a bigger model there.