Skip to content

Remove PDF metadata

A PDF records who made it, with which program, and when — usually twice, in two stores that can disagree with each other. Both are read here, both are shown separately rather than merged, and a clean rewrites the file structurally without re-rendering a single page.

Drag & drop your file here

or paste from the clipboard

Reads metadata in: JPEG · PNG · WebP · HEIC/HEIF · AVIF · MP4 · QuickTime MOV · WebM · PDF · MP3 · WAV · M4A

Your file never leaves your device. Processing happens entirely in your browser.

Two stores, and they do not always agree

A PDF keeps document properties in an information dictionary — Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate — and usually also in an XMP packet attached to the document catalogue. The same fact often lives in both, and the two copies can say different things, typically because one program wrote one and a later program wrote the other.

The specification settled which one wins: ISO 32000-1 §14.3.2 gives the XMP packet precedence where they disagree. So both are shown, labelled by where they came from, rather than merged into a single view that would hide the disagreement. PDF 2.0 goes further and deprecates every information-dictionary entry except the two dates.

What a document actually gives away

Author is the obvious one, and it is frequently a full name taken from an operating-system account without anybody choosing it. Producer and Creator name the software and often its exact version, which says what was installed on the machine. The two dates give the minute the file was made and the minute it was last touched.

Beyond those, a PDF assembled from earlier versions of itself can still contain those earlier versions: incremental updates append rather than replace, so an edited document may carry what it looked like before the edit. That is surfaced as a warning, because it changes what can honestly be said about what removal accomplished.

Nothing is re-rendered

Cleaning rewrites the file’s structure: the objects that hold metadata are dropped or replaced, and the cross-reference table that says where every object lives is rebuilt so that the offsets match the bytes actually written. Page content streams, fonts and images are copied across untouched, so the document renders exactly as it did.

A cleaned file also comes out as a single generation, so the superseded versions an incrementally edited PDF was carrying are gone rather than merely superseded. Writing follows the specification’s own rules the same way: a field with no value is omitted rather than written empty (§14.3.3), and dates use the syntax §7.9.4 defines. Where both stores are present, both are updated, and the result says which.

Three documents it refuses to rewrite

A signed PDF, an encrypted one, and one carrying C2PA Content Credentials are all declined — by name, with the reason, and with something to do instead. A signature covers the file’s exact bytes, so rewriting them makes it stop validating, and a contract that quietly fails to verify is worse than one left alone. An encrypted document has its metadata strings encrypted too, so this build cannot see what it would be removing, and it never attempts a password.

The third is the one people find surprising: Content Credentials embedded in a PDF can be seen but not read by this build, and rewriting a file to strip metadata while breaking a provenance record it could not inspect is not a trade it will make quietly. Producing something that looks cleaned while a store the parser could not reach still holds the original values is the worst outcome available here, and it is the one this refuses to risk.

What this build does with each of them

Read from the same table the engine consults before it opens a file, so it describes behaviour rather than intention. The formats page shows every format in it.

PDF

Analysed · cleaned · edited · 8 writable fields

Removable: Document information, XMP.

  • The document information dictionary (title, author, creator, producing software, dates) and the XMP packet are both read, and both are removed by a clean.
  • Cleaning rewrites the file as a single generation rather than appending a correction. An appended update would leave the old values in the file, readable by anyone who looks at the raw bytes.
  • Removing metadata does not change the text on the pages. A name printed in a document stays in the document.
  • Editing writes the same value into every metadata store the file already has, so the two cannot end up disagreeing. A store the file did not have is never created.
  • The modification date is never written unless you change it yourself. Stamping a file with the moment it was edited here would add exactly the kind of trace this site exists to remove.
  • Signed, encrypted and Content-Credential-bearing PDFs are refused rather than rewritten or edited, each with an explanation of what rewriting would break.
  • Nothing in a PDF is executed, resolved or followed. Embedded files, JavaScript and launch actions are reported as present and left untouched.
  • Encrypted PDFs are reported as encrypted rather than guessed at: their metadata strings cannot be read without the password, and this build never attempts one.
  • A PDF can hold several generations of itself. The current values are reported, and earlier generations are reported as present — because removing metadata from such a file would not remove them.
  • The C2PA specification defines a PDF embedding (2.4, A.4, via embedded file streams). This build detects that a manifest is attached, from the marker the specification defines, but does not read it — and it refuses to clean a PDF while one is present rather than risk breaking bindings it cannot inspect.

Frequently asked questions

Does cleaning change how the document looks?

No. Page content, fonts and images are copied across unchanged and nothing is re-rendered. Only the objects holding metadata are rewritten, along with the cross-reference table that has to match them.

Why does the report show the same field twice?

Because the file holds it twice, in the information dictionary and in the XMP packet, and the two can disagree. Merging them would hide that. Each is labelled with the store it came from, and the specification’s rule — XMP wins — is stated rather than applied silently.

Can it clean an encrypted or password-protected PDF?

No, and it says so rather than producing something that looks cleaned. Encryption covers the metadata strings as well, so the build cannot read what it would be removing, and it never attempts a password. Signed documents and documents carrying Content Credentials are declined for their own reasons, each stated in full.

What about earlier versions of the document inside the file?

PDFs are often edited by appending rather than rewriting, which leaves the previous state in the file. When that is detected the report says how many generations are present, because the superseded values are readable by anyone looking at the raw bytes. A clean writes the result as a single generation, so they do not survive it.