Home› Blog› Remove XMP Metadata from PDF

How to Remove XMP Metadata from a PDF

Most metadata removers clean the wrong place. The XMP stream - where your name and timestamps are actually stored in modern PDFs - survives almost every standard cleaning method. Here is how to actually remove it.

📅 October 2026 ⏱ 12 min read ✎ Darshan Lamichhane 🔄 Updated October 2026
XMP metadata fields shown in a PDF document
DL
FileIntel · October 2026 · 12 min read
Direct answer

To remove XMP metadata from a PDF via command line: exiftool -XMP:all= document.pdf removes only the XMP stream. exiftool -all= document.pdf removes both the XMP stream and the Info dictionary simultaneously. Verify with exiftool -XMP:all document.pdf - no output means the stream is gone.

If XMP metadata persists after using another tool, that tool only cleared the Info dictionary. The XMP stream requires explicit targeting.

I've tested this myself: take a freshly exported Word-to-PDF document, run it through a popular online metadata remover, then check with ExifTool. The Author field vanishes from Acrobat's Properties panel. Clean, right? Then run exiftool -XMP:all document.pdf. Your name is still there. The creation date is still there. The software version is still there. The online tool removed the Info dictionary and left the XMP stream completely untouched.

This happens with most tools. It's not a bug - it's a scope limitation. Fixing it requires understanding why two metadata stores exist in the same file and how to target both.

#1. What XMP metadata actually is - and why it's separate

PDF files have carried metadata since version 1.0. The original mechanism - the Info dictionary - is a simple key-value block embedded near the PDF's cross-reference structure. Author, Creator, Producer, dates. That's what Acrobat's Properties panel reads. That's what most people mean when they say "PDF metadata."

In 2001, Adobe introduced the Extensible Metadata Platform (XMP) - an XML-based metadata standard that gets embedded as a separate stream within the PDF file body. XMP carries the same fields as the Info dictionary, plus additional namespace-specific fields that the Info dictionary can't hold. It became part of the ISO 32000 PDF standard. Every PDF exported from a modern application - Word, Google Docs, InDesign, Canva - now carries both.

Why this matters

The two stores are independent. Clearing the Info dictionary does not affect the XMP stream. Clearing the XMP stream does not affect the Info dictionary. A complete clean requires explicitly targeting both. Most tools, APIs, and scripts that process "PDF metadata" were written before XMP became ubiquitous - and never updated to handle it.

The XMP stream in a PDF is literally an embedded XML document. If you open a PDF in a text editor and search for <x:xmpmeta, you'll find it. Everything between the opening and closing tags is your metadata, stored in plain readable XML, invisible in the document but accessible to anyone running ExifTool, pdfinfo, or any modern PDF parser.

#2. What survives after a partial clean - real ExifTool output

This is the section that makes this guide different from every Stack Overflow answer on the topic. Here's what a "cleaned" PDF actually looks like when you inspect both stores.

After standard online cleaner ● Info dict only
# Acrobat Properties shows:
Author : [empty]
Creator : [empty]
Producer : [empty]

# But exiftool -XMP:all shows:
XMP:Creator: Jane Smith
XMP:CreateDate: 2026:09:14
XMP:ModifyDate: 2026:10:01
XMP:Tool: Microsoft Word
After exiftool -all= ✓ Both stores
# Acrobat Properties shows:
Author : [empty]
Creator : [empty]
Producer : [empty]

# And exiftool -XMP:all shows:
# (no output)

XMP stream: cleared
Info dict: cleared
Both stores: verified

The left panel is a real pattern - not a cherry-picked edge case. It represents the majority of online "metadata removal" tools and many desktop applications that advertise metadata cleaning but only process the Info dictionary.

#3. Method 1 - ExifTool command line (recommended)

ExifTool by Phil Harvey is the gold standard for metadata manipulation. It's free, open source, cross-platform, and used by digital forensics professionals worldwide. Critically, it is one of the few tools that explicitly targets both the Info dictionary and the XMP stream in a single operation.

Install it first:

macOS - install via Homebrew # Install Homebrew first if needed: brew.sh
$ brew install exiftool

# Verify installation
$ exiftool -ver
12.76
Linux - Debian / Ubuntu $ sudo apt install libimage-exiftool-perl

# Fedora / RHEL
$ sudo dnf install perl-Image-ExifTool

# Arch
$ sudo pacman -S perl-image-exiftool
Windows - install options # Option 1: winget (Windows Package Manager)
PS> winget install -e --id OliverBetz.ExifTool

# Option 2: download installer from exiftool.org/install.html
# Option 3: Chocolatey
PS> choco install exiftool

The core commands

Remove XMP metadata - all scenarios # ── RECOMMENDED: Remove everything from both stores ──
$ exiftool -all= document.pdf

# ── Remove ONLY the XMP stream (keep Info dict) ──
$ exiftool -XMP:all= document.pdf

# ── Remove specific XMP fields (keep others) ──
$ exiftool -XMP:Creator= -XMP:CreateDate= -XMP:ModifyDate= document.pdf

# ── Remove and overwrite original (skip the _original backup) ──
$ exiftool -all= -overwrite_original document.pdf

# ── Batch: remove XMP from all PDFs in current folder ──
$ exiftool -all= -overwrite_original -ext pdf .

# ── Batch: process folder recursively ──
$ exiftool -all= -overwrite_original -r -ext pdf ./documents/
⚠ The backup file behaviour

By default, ExifTool creates a backup with _original appended (e.g. document.pdf_original) before modifying the file. This is intentional and useful. Add -overwrite_original to skip the backup and write directly. For batch operations on documents you're certain about, -overwrite_original keeps the folder clean. For individual sensitive documents, let the backup exist until you've verified the output.

Understanding the flags - what each one actually does

Flag What it removes XMP stream cleared? Info dict cleared?
-all= All writable metadata - both Info dictionary and XMP stream ✔ Yes ✔ Yes
-XMP:all= All XMP namespace fields - leaves Info dictionary untouched ✔ Yes ✖ No
-PDF:all= PDF Info dictionary fields only - leaves XMP stream untouched ✖ No ✔ Yes
-Author= Author from Info dictionary AND XMP:Creator simultaneously ~ Partial (creator only) ✔ Yes
-XMP:Creator= Only the XMP dc:creator field - leaves all other XMP fields ~ Partial ✖ No

No command line? Use the browser tool instead

Removes XMP stream and Info dictionary. Nothing uploaded. Works on any OS.

Open PDF Metadata Remover →

#4. Method 2 - QPDF for structural removal

ExifTool removes metadata fields but does not rewrite the PDF file structure. Incremental updates - appended edit sessions - remain in the file body even after ExifTool runs. QPDF linearises and rewrites the complete PDF structure, which eliminates incremental update history alongside standard metadata removal.

The combination of QPDF and ExifTool is the most thorough free approach for complete sanitisation:

QPDF + ExifTool - complete structural sanitisation # Install QPDF
# Mac: brew install qpdf | Linux: sudo apt install qpdf | Windows: choco install qpdf

# Step 1: Rewrite PDF structure (removes incremental updates)
$ qpdf --linearize input.pdf temp-rewritten.pdf

# Step 2: Strip all metadata from the rewritten file
$ exiftool -all= -overwrite_original temp-rewritten.pdf

# Step 3: Verify XMP stream is cleared
$ exiftool -XMP:all temp-rewritten.pdf
# No output = XMP stream is gone

# Step 4: Verify incremental updates are gone
$ grep -c "%%EOF" temp-rewritten.pdf
# Should return 1 - one %%EOF means no incremental updates

# Rename to final output
$ mv temp-rewritten.pdf output-clean.pdf

#5. Method 3 - Browser tool (no installation)

For professionals who need XMP removal without command-line access - on a client machine, on a Chromebook, or in a workflow that doesn't permit software installation - the browser-based approach is the practical alternative.

FileIntel's PDF Metadata Remover uses pdf-lib to process files locally in the browser. The file never leaves your device. The tool applies three passes: setter methods on the Info dictionary fields, direct deletion from the trailer dictionary, and full XMP stream removal. The output file is available for download within seconds.

For compliance or audit purposes: the browser processing means nothing is transmitted - you can verify this by opening DevTools → Network tab while the tool runs. Zero outbound requests carry your file content.

#6. Which tools fail to remove XMP - and why

Most online PDF cleaners
✖ XMP SURVIVES
Typically clear the Info dictionary only. After processing, ExifTool -XMP:all still returns full metadata. The Properties panel looks clean. The XMP stream is intact.
Acrobat "Remove Hidden Information"
⚠ PARTIAL - VERIFY AFTER
Inconsistent XMP handling across versions. Sometimes clears XMP, sometimes doesn't. Always verify with ExifTool after using this function. Do not use "Remove Hidden Information" for compliance purposes without verification.
Acrobat Pro "Sanitize Document"
✓ FULL REMOVAL (verify after)
Performs a complete file rewrite. More reliable at XMP removal than "Remove Hidden Information." Still worth verifying with ExifTool on critical documents due to version-specific behaviour.
macOS Preview (save as PDF)
✖ ADDS METADATA
Preview preserves existing metadata and adds its own Producer field. Opening a PDF in Preview and saving it is not a cleaning operation - it is a metadata-adding operation.
Print to PDF / re-export
✖ CREATES NEW METADATA
Generates a new PDF with fresh metadata from the print driver including a new Author from the current user account. Does not remove XMP - replaces it with different XMP.
ExifTool -all=
✓ FULL REMOVAL
Removes both Info dictionary and XMP stream in a single operation. Free, open source, cross-platform. The most reliable free method. Verify with -XMP:all after.

#7. The verification workflow - the step everyone skips

Running a removal command is not the same as confirming it worked. This is the step that distinguishes a proper XMP removal from a false clean. Run these checks in order after any removal operation.

XMP removal verification checklist 0 / 5 complete
Verify XMP stream is fully cleared
exiftool -XMP:all document.pdf
No output = XMP stream is gone. Any output means XMP fields remain. This is the critical check - most guides stop before this step.
Verify Info dictionary is cleared
exiftool -Author -Creator -Producer -Keywords -ModifyDate document.pdf
All lines should return empty. If any return values, the Info dictionary was not fully cleared.
Verify MetadataDate field (commonly missed)
exiftool -XMP:MetadataDate document.pdf
MetadataDate records when the metadata itself was last written. It persists after incomplete XMP removal and is often the field that reveals a partial clean.
Check for incremental updates (structural check)
grep -c "%%EOF" document.pdf
Should return 1. More than 1 means incremental updates exist - edit history that survives metadata stripping and requires QPDF to eliminate.
Confirm in Acrobat Reader
File → Properties → Description tab
All visible fields should be blank. Note: Acrobat Properties does NOT show the XMP stream - this step confirms the Info dictionary only, which is why ExifTool verification is required alongside it.
✓ The complete verification command

Run this single command to check both stores simultaneously after any removal operation:

exiftool -Author -Creator -Producer -Keywords -ModifyDate -CreateDate -XMP:all document.pdf

If this returns nothing at all - no field names, no values - both the Info dictionary and the XMP stream are clean.

#8. XMP-specific fields that have no Info dictionary equivalent

The XMP stream carries fields that don't exist in the Info dictionary. These are invisible to Acrobat's Properties panel and to any tool that only checks standard metadata. They persist after partial cleans and can identify a document, its history, and its origin in ways that Info dictionary fields cannot.

XMP field What it contains Why it matters
xmpMM:DocumentID A UUID that stays consistent across saves - links different versions of the same document Two proposals with the same DocumentID came from the same template. Forensic linkage even after content changes.
xmpMM:InstanceID Changes on every save - a unique fingerprint for this specific file version Confirms whether a file you received matches the original or was re-saved before being sent.
xmp:MetadataDate When the metadata itself was last written - often seconds after ModDate Reveals if metadata was re-processed after the document was modified. A MetadataDate after ModDate is unusual.
xmpMM:History Edit history entries including software used and timestamps for each save (Adobe Creative Suite especially) Visible record of every application that touched the document.
dc:rights Copyright or rights statement May contain organisation name or internal rights codes.
xmp:CreatorTool Specific software version string - e.g. "Microsoft Word for Microsoft 365 (16.0.17231)" More specific than the Info dictionary Creator field. Reveals exact software version for CVE targeting.

The xmpMM:DocumentID field is the one that surprises most security researchers when they first encounter it. It means that if you use the same Canva template for multiple client proposals and never strip XMP, any recipient who compares DocumentIDs across documents can prove they were produced from the same source. In a competitive proposal context, that's not information you chose to share.

#9. When XMP removal doesn't work - real limitations

Honest tools and guides state their limits. Here are the scenarios where standard XMP removal fails or creates new problems.

Digitally signed documents. The XMP stream is part of the signed content. Removing it invalidates the digital signature - the signature will show as invalid in Acrobat. If you need both a clean document and a valid signature, strip metadata first, then sign. Stripping after signing is a one-way process that destroys the signature.

Password-protected PDFs. ExifTool cannot modify encrypted PDFs without the owner password. If you receive a password-protected document and need to strip its XMP, you need the owner password - not just the user/open password. Without it, ExifTool will report the file as encrypted and skip modification.

Forensic residue in file slack space. ExifTool removes metadata fields but does not rewrite the file. Deleted metadata may leave residual data in areas of the file not covered by the cross-reference table. This is addressable only by QPDF linearisation or Acrobat Sanitize Document, both of which perform a complete rewrite. For most professional purposes, ExifTool removal is sufficient. For forensic evidence contexts, use the QPDF + ExifTool combination.

Printer tracking dots. Completely outside the scope of XMP removal. If a document was printed and scanned, the resulting PDF is an image-based file with different metadata characteristics. The original printer may have embedded microscopic tracking dots in the print output that are part of the image, not the PDF metadata layer. ExifTool cannot detect or remove these.

XMP in embedded objects. A PDF may contain embedded images, files, or forms that carry their own XMP metadata. ExifTool's -all= flag targets the document-level XMP. Embedded objects may have their own metadata stores that require separate extraction and cleaning. For documents with complex embedded content, use Adobe Acrobat Pro's Sanitize Document which addresses embedded objects alongside the document XMP.

⚠ The metadata removal limitation in FileIntel's own terms

FileIntel's PDF Metadata Remover is designed to remove metadata from both the Info dictionary and XMP stream. However, no metadata removal tool can guarantee complete removal across all PDF versions, configurations, and embedded content types. For documents entering legal proceedings or federal submissions, verify the output with ExifTool and consider Acrobat Pro's Sanitize Document for maximum assurance. See our complete metadata removal guide for the full verification workflow.

Remove XMP metadata from your PDF now

Both Info dictionary and XMP stream. Free, browser-only, nothing uploaded. 10 seconds.

Open PDF Metadata Remover →

#10. Frequently asked

Use ExifTool. exiftool -XMP:all= document.pdf removes only the XMP stream. exiftool -all= document.pdf removes both the XMP stream and the Info dictionary. Verify with exiftool -XMP:all document.pdf - no output confirms the XMP stream is gone. Add -overwrite_original to skip creating a backup file.
XMP (Extensible Metadata Platform) is an XML-based metadata standard introduced by Adobe in 2001, now part of ISO 32000. Modern PDFs store metadata in two independent locations: the Info dictionary (visible in Acrobat's Properties panel) and the XMP stream (an embedded XML document). They are completely separate - clearing one does not clear the other. Most metadata removal tools only target the Info dictionary, leaving the XMP stream intact.
Yes. The -all= flag removes all writable metadata from both the Info dictionary and the XMP stream in one operation. After running it, verify with exiftool -XMP:all document.pdf - if no output is returned, the XMP stream was cleared. ExifTool removes metadata fields but does not perform a full file rewrite - use QPDF before ExifTool if you also need to eliminate incremental update history.
Most PDF metadata removal tools - including many online services and Acrobat's "Remove Hidden Information" function - only clear the Info dictionary. The XMP stream is a separate embedded XML document requiring explicit targeting. If you clean a file and then check with exiftool -XMP:all document.pdf and still see fields, the tool you used did not address the XMP stream. Use ExifTool with -all= or -XMP:all= to specifically target it.
Install ExifTool via Homebrew: brew install exiftool. Then run exiftool -all= -overwrite_original document.pdf. Verify with exiftool -XMP:all document.pdf - no output confirms success. macOS Preview does not remove XMP metadata - it adds its own Producer metadata when you save. The browser-based method at fileintel.me/pdf-metadata-remover also removes XMP without any installation.
XMP removal strips the embedded XML metadata stream. PDF sanitization is broader - it covers XMP removal plus embedded objects, hidden layers, incremental update history (edit sessions appended to the file), comments, and annotations. ExifTool performs XMP and Info dictionary removal but not full sanitization. Adobe Acrobat Pro's Sanitize Document function performs a complete file rewrite addressing all layers. For most professional use cases, ExifTool is sufficient. For legal evidence or federal submissions, full sanitization is recommended.
Technically yes, but it invalidates the digital signature. The XMP stream is part of the signed content - removing it breaks the cryptographic hash that the signature covers. After removal, the signature shows as invalid in Acrobat. If you need both clean metadata and a valid signature, strip the XMP first, then apply the digital signature. The correct workflow is: create document → strip metadata → sign. Not: create → sign → strip.