How to disable copy and paste in a pdf with permission controls
- Step 1Open the Permission Setter and drop the document — Load the PDF you want to protect into the PDF Permission Setter. Free tier handles files up to 2 MB / 50 pages; the document stays on your device.
- Step 2Set an owner password — Enter a strong owner password in the required field. It protects the copy flag and is the only way to lift it later. No open password is set, so readers are not prompted to view the file.
- Step 3Tick Block copying / text selection — Check the Block copying box. This sends
--extract=nto qpdf. Leave Block printing unticked if you only want to stop copying while still allowing printing. - Step 4Run the re-encryption — qpdf rewrites the file with AES-256 and the disabled extraction flag. Exit code 0 means clean success; code 3 means it succeeded with warnings.
- Step 5Download the copy-locked PDF — Save the output. In Adobe Reader, dragging to select text does nothing and the Copy menu item is unavailable.
- Step 6Test selection in a viewer — Open the file and try to select a paragraph — it should not highlight. If you need extra deterrence against retyping, add a watermark so any reproduction is visibly marked.
Copy / extraction flag behaviour
The Block copying checkbox maps to qpdf's extraction flag. It does not rasterise text — the words remain in the file.
| UI control | qpdf flag sent | Effect in a conformant viewer |
|---|---|---|
| Block copying / text selection ticked | --extract=n | Text selection and Copy disabled; reading and scrolling still work |
| Block copying unticked (default) | --extract=y | Normal text selection and copy-paste |
| Block printing (independent) | --print=none / --print=full | Controls printing separately; not affected by the copy setting |
| Owner password (required) | owner arg of --encrypt | Protects the flags; required to remove the restriction |
What blocking copy does and does not stop
Content extraction is a viewer-honoured flag. It is a deterrent, not an airtight DRM lock.
| Action | Blocked? | Why |
|---|---|---|
| Select + Ctrl+C in Adobe Reader | Yes | Reader enforces --extract=n |
| Right-click → Copy | Yes | Same extraction flag governs both |
| Screenshot of the page | No | OS-level capture is outside PDF permissions |
| OCR on a screenshot | No | Re-reads pixels, never touches the flag |
| Editor that ignores permissions | No | Non-conformant tools can extract text anyway |
Cookbook
Real copy-protection scenarios and exactly what the tool sets for each.
Block copying only, keep printing allowed
A whitepaper a prospect may print for internal review, but whose wording you don't want lifted into their own deck.
Owner password: wp-protect-44 Block copying: ON → --extract=n Block printing: OFF → --print=full Result: Text selection : disabled Printing : allowed Open prompt : none
Lock both copy and print on a manuscript
A novel manuscript sent to a beta reader — view only, no copying passages, no printing a spare copy.
Owner password: ms-readonly-x Block copying: ON → --extract=n Block printing: ON → --print=none Result: AES-256 encrypted, both actions disabled in Adobe Reader
The qpdf command equivalent
Under the hood the tool runs qpdf with an empty open password and your owner password. This is the exact shape.
qpdf --encrypt "" "ms-readonly-x" 256 \
--extract=n --print=full \
-- manuscript.pdf manuscript-locked.pdf
^ empty open pw ^ copy blockedWhy the text is still in the file
Blocking copy sets a flag — it does not turn the text into a picture. This matters: search still works in a conformant viewer, and OCR is unnecessary because the characters are intact.
Before lock: selectable text "Confidential pricing" After lock: same characters, --extract=n set Viewer: refuses to select/copy Reality: text bytes unchanged — flag-enforced, not rasterised
Stronger protection: rasterise, then lock
If you need the text genuinely unextractable even by non-conformant tools, convert pages to images first so there is no text layer to copy, then set permissions.
Step 1 PDF to JPG (or image-to-pdf round trip) → text becomes pixels Step 2 PDF Permission Setter → Block copying ON Trade-off: file loses real text (no search, no accessibility), but nothing can be selected because there is nothing to select.
Edge cases and what actually happens
Owner password left blank
errorThe owner password is required. Running with an empty field raises 'Enter an owner password.' before encryption. The password is the key that protects the copy flag, so there is no passwordless mode.
Screenshots and phone photos
out of scopeThe copy permission governs only in-viewer text extraction. A reader can screenshot the page or photograph the screen and run OCR — no PDF flag can prevent this. A visible watermark is the practical countermeasure for capture-and-retype.
Screen readers and accessibility
limitedSome assistive technology uses the same text-extraction path that --extract=n disables, so blocking copying can reduce screen-reader access in strict viewers. If a document must remain accessible, leave Block copying off and restrict printing only, or distribute an unprotected accessible copy alongside.
Editors that ignore PDF permissions
by design (PDF limitation)Copy permission is a flag conformant viewers honour. Some specialist editors and command-line tools deliberately ignore permission flags and can extract text regardless. AES-256 stops the flag being flipped without the owner password but cannot force non-conformant software to obey it. To rasterise the text out entirely, see the cookbook above.
Text is still searchable in the viewer
by designBlocking copy does not remove the text layer — search and find-in-document still work in most viewers because they read, not extract. This is expected: the words are present, only selection/copy is disabled.
File already protected with a password
limitedqpdf cannot re-encrypt a file it can't open. Clear the existing protection with PDF Unlock using the current password, then set the copy restriction.
Corrupted PDF
qpdf errorIf qpdf fails to parse the file it exits code 2 and you see 'qpdf could not process this PDF — it may be corrupted or use an unsupported encryption.' Try PDF Repair first.
File exceeds tier limit
blockedOver 2 MB or 50 pages on free tier triggers an upgrade prompt before processing. Pro allows 50 MB / 500 pages.
qpdf returns warnings
PreservedExit code 3 (warnings) is treated as success — the copy-locked file is produced. qpdf logs warnings for minor structural fixes it applies during the rewrite.
Frequently asked questions
Does this stop a reader selecting and copying text?
Yes, in conformant viewers. With the file saved using --extract=n, Adobe Reader, Acrobat, and Preview disable text selection and the Copy command. Reading and scrolling are unaffected. Non-conformant editors that ignore permissions are the exception — that's a property of the PDF model, not this tool.
Does blocking copy turn the text into an image?
No. It only sets the extraction permission flag — the actual text characters remain in the file. That means find/search still works in most viewers, and the protection depends on the viewer honouring the flag. If you need text that genuinely cannot be extracted, rasterise the pages first (e.g. via PDF to JPG), then set permissions.
Can I block copying without blocking printing?
Yes — the two checkboxes are independent. Tick only Block copying to send --extract=n while leaving printing at --print=full. To stop printing as well, see Prevent PDF printing.
Does it prevent screenshots?
No. PDF permissions only control actions inside the viewer. Screenshots, screen recordings, and photographing the screen are OS-level actions that no PDF flag can block. Add a visible watermark to deter capture-and-reuse.
Will this affect screen readers?
It can. The copy/extraction flag is sometimes the same path assistive technology uses, so strict viewers may limit screen-reader access when copying is blocked. If accessibility is required, restrict printing only and leave copying enabled, or provide an accessible copy separately.
What encryption is applied?
AES-256 (qpdf's 256-bit / R6 handler). The copy permission lives in the encrypted permission dictionary, so it cannot be changed without the owner password you set.
Is my document uploaded?
No. qpdf runs as WebAssembly in your browser. The PDF, owner password, and output never leave your device. Only an anonymous usage counter is recorded when you're signed in.
Can OCR get around it?
Yes, indirectly. OCR works on the rendered pixels of a screenshot, not on the PDF's permission flags, so it never touches the copy restriction. This is true of every copy-protection scheme — the only defence is making reproduction visibly traceable with a watermark.
How do I remove the copy restriction?
Use PDF Remove Password with the owner password you chose. It strips the encryption and all permission flags, restoring normal copy/paste.
Will recipients be prompted for a password to open it?
No. This tool sets only the owner password and permission flags; the open (user) password is always empty, so the file opens without a prompt. To require a password to open, use PDF Password Protect.
Can I batch-protect many PDFs at once?
Not with this tool — permission setting is single-file. Process each PDF in its own run. For an automated pipeline, pair the JAD runner and call the tool locally per file.
Does blocking copy also prevent editing the document?
No. The copy flag governs text extraction, not modification. This tool always leaves modification allowed (it sends --modify=all) because there is no UI control to block editing. If you need an unalterable document, flatten it with PDF Flatten first — see Restrict PDF editing.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.