Remove metadata from a PDF
A PDF written yesterday will tell you who wrote it, in what program, and when — and often the computer's local time zone. All of it comes out here, in your browser, and the document still opens.
Two places, and the second one repeats the first
| Where | What it holds |
|---|---|
| /Info dictionary | Author, Title, Subject,
Keywords, Creator (the program you wrote it in),
Producer (the program that made the PDF), and
CreationDate / ModDate — which include your
time zone offset. |
| /Metadata stream | An XMP block. In most documents it restates the same author and title, sometimes with more: an organisation, a document ID, a revision history. |
The time zone is the field people forget. It is not sensitive on its own — but it places you somewhere specific on the planet at a specific minute.
A photo is a block; a PDF is an address book
Deleting metadata from a JPEG is easy: the metadata is one self-contained segment, and everything after it can be copied untouched.
A PDF keeps a cross-reference table recording the exact byte position of every object. Remove one object and everything behind it shifts — the table is now wrong, and the reader either errors or, worse, silently opens a corrupted file.
What this tool does instead: it overwrites the metadata in place, padding with spaces so every byte position stays exactly where it was. The cross-reference table is never invalidated, because nothing moved.
A side effect worth knowing: the cleaned file is exactly the same size as the original. That is deliberate. Losing a few hundred bytes is not worth a document that might not open.
Some PDFs compress their own metadata
PDF 1.5 and later can pack small objects into a compressed container. When a document does
that with its /Info dictionary, the values are no longer sitting in the file as
plain text — they're inside a deflate stream.
In that case this tool detaches the reference so no reader will report the author or title again, and tells you plainly that the bytes are still inside the compressed stream. Unpacking it and rebuilding the file would change every offset, which is the exact thing this design avoids.
"No longer reported" and "no longer present" are different statements. This page will never blur them.