Privacy tool

Sanitize PDF

Remove embedded JavaScript, launch actions, attached files and hidden metadata from a PDF, while the pages themselves stay exactly as they were. Free, private, processed in memory.

PDF PDF
PrivConvert
Privacy-first conversion
No files stored
In-memory processing
Deleted instantly
No sign-up needed

Complete the security check to begin

The parts of a PDF that never appear on the page

It is easy to think of a PDF as a picture of a document, and for most files that is all it is. But the specification also allows a document to carry instructions, and those instructions have their own places to hide. An action can be attached to the document itself so it fires the moment the file is opened. It can be attached to a page so it fires when you scroll to it. It can be attached to an annotation so it fires when your pointer passes over a region of the page. None of these leave a mark on the page you are reading.

The instructions themselves are not limited to JavaScript. A PDF can hold a launch action that asks the reader to start an external program, a submit-form action that posts data to a web address, an import-data action that pulls content in, and a remote go-to action that opens a different document elsewhere. It can also carry entire files inside it as attachments. Modern readers restrict much of this by default, and that protection is real, but it depends on the reader, its version, its configuration and whether the file has been passed through something else along the way.

This tool removes that machinery from the file rather than relying on the reader to decline it. The document that comes out has the same pages, the same text and the same images, and no longer contains anything that can act on its own.

  • JavaScript removed everywhere it can live, including automatic open, close and page triggers
  • Launch, submit-form, import-data and remote go-to actions removed
  • Embedded and attached files removed, along with portfolio containers
  • XFA form definitions removed - a scriptable engine inside the document
  • Screen, movie, rich-media, 3D and file-attachment annotations removed
  • Document metadata and the XMP block cleared
  • Text, images, layout, fonts, bookmarks and ordinary hyperlinks preserved exactly
  • A per-file report of what was found, rather than a bare claim of success

Need to remove something that is visible on the page? That is a different job - use Redact PDF, which permanently deletes marked text and areas and performs this same active-content strip as part of its work. To take the password off an encrypted file first, use Unlock PDF.

Further reading: why drawing a black box over text does not redact it, and if your application accepts uploads, the same question for SVG.

A converter built around your privacy

Most online tools upload your files to a server, keep them for days, and may mine them for AI training or resale. PrivConvert was built the opposite way - around your privacy.

Works on any device

Runs in any modern browser on Windows, macOS, Linux, Android and iOS - no install, plugin or desktop software needed.

Fast in-memory processing

Each job runs in an isolated in-memory sandbox, so most conversions finish in seconds instead of waiting in a queue.

Nothing is stored

We never keep a copy. Once your PDF is delivered, both the original and the result are gone - there is nothing left to leak or misuse.

Isolated sandbox

Every conversion runs in its own locked-down process with no network access, so files can never leak or interfere with one another.

A tool you do not have to worry about

Thousands of people trust PrivConvert with their files because privacy here is structural - enforced by how the service runs, not just promised.

250 MB Max file size
450+ Conversion tools
0 sec File retention
100% Free to use

Frequently Asked Questions

What is 'active content' in a PDF?
A PDF is not only a page description. The format also lets a document carry JavaScript, instructions to launch an external program, instructions to submit data to a web address, and whole files attached inside it. None of that is visible when you look at the page. A reader that supports those features may act on them the moment the file is opened, which is why a PDF is a common delivery vehicle rather than just a document.
What exactly does this remove?
Embedded JavaScript, including the automatic trigger dictionaries that run on document open, document close and page open; launch actions that start an external program; submit-form and import-data actions that send or fetch data over the network; remote go-to actions that pull in another document; files embedded or attached inside the PDF; XFA form definitions, which are a separate scriptable engine; screen, movie, rich-media, 3D and file-attachment annotations; and the document information dictionary along with the XMP metadata block.
What is left alone?
Everything you can actually see. Text stays as real selectable text, images stay at their original resolution, fonts, colours, page size, page order and bookmarks are untouched, and ordinary hyperlinks keep working. We tested this against real documents and compared the extracted text and image inventory before and after: the pages come through identical. This is not a re-render or a flatten, so nothing is degraded.
Why keep hyperlinks if you are removing everything else?
Because a hyperlink is visible and requires a deliberate click, and your reader shows you where it goes before you follow it. That is ordinary document behaviour. The actions we remove are different in kind: they run without being clicked, or they reach outside the document in ways the page gives no sign of. Removing every link would break normal documents without closing a hole.
Does it tell me what was in my file?
Yes. The result comes with a tally of what was found and removed, broken down by category - how many JavaScript items, automatic triggers, launch actions, network actions, embedded files and media annotations. If the file was already clean the tally is empty, which is a useful answer in itself. Through the API the same tally is returned in an X-Sanitize-Report response header.
Is this the same as redacting a PDF?
No, and the difference matters. Redaction removes content you can see and want gone - a name, an address, a figure - and you have to mark it. Sanitizing removes machinery you cannot see and never wanted, and needs no input from you. If you need both, redact first, then sanitize. Our Redact PDF tool already performs this same active-content strip as part of its work.
Will the sanitized file still open everywhere?
Yes. The output is an ordinary PDF and opens in Acrobat, Preview, Chrome, Edge, Firefox and any other reader. The one case where behaviour changes on purpose is an XFA form, which is a scriptable form engine rather than a document; after sanitizing, its static pages remain but the dynamic form does not.
Should I sanitize PDFs that arrive by email?
It is a reasonable habit for anything from outside your organisation, and particularly for invoices, CVs and delivery notices, which are the usual disguises. Sanitizing is not a substitute for antivirus and does not claim to be - it removes the categories of active content described above, rather than inspecting content for known malware signatures.
Can I run this on every file automatically?
Yes. It is part of the developer API as a plain HTTP endpoint with no parameters, so a mail gateway, an upload handler or a document pipeline can pass every incoming PDF through it. The removal report comes back as a response header, so you can log what was stripped without keeping the original.
Is my file uploaded or stored anywhere?
It is held in server memory for the length of the request and returned to you. It is never written to disk, never stored and never logged, and it is gone once your download finishes.
Does it work on a password-protected PDF?
Not directly - an encrypted file cannot be inspected without its password. Remove the password first with the Unlock PDF tool and then sanitize the result.

Further Reading