PDF MetaClean
Remove sensitive metadata from PDF files before you share them. One command, three modes.
Why
A PDF exported from your business software can silently carry your name, company, software, and even editing timestamps — freelancers leak their identity this way all the time. PDF MetaClean strips it all.
Install & Run
pip install -r requirements.txt
# Inspect what's hidden in a PDF
python -m tools.pdf-metaclean report.pdf
# See the full metadata list
python -m tools.pdf-metaclean report.pdf --verbose
# Write a sanitized copy
python -m tools.pdf-metaclean report.pdf --clean
# -> report_clean.pdf
# Overwrite the original
python -m tools.pdf-metaclean report.pdf --in-place
# Verify the tool works on your machine
python -m tools.pdf-metaclean --self-check
Options
| Flag | Description |
|---|---|
--clean |
Write cleaned copy as <name>_clean.pdf |
--in-place |
Overwrite the original file after cleaning |
--verbose |
List all metadata found before cleaning |
--self-check |
Run a built-in correctness test |
Why the byte-level strip
pypdf silently re-injects /Producer on every write. PDF MetaClean strips the PDF /Info trailer entry at the byte level after writing, so no metadata can survive — verified by the built-in self-check.
Support the Project
PDF MetaClean is free and open source. Like it?
- Get your site audited — €49 — I run the audit and send you the fixes
- Buy me a coffee — one-time support
Report a bug
Found a bug or something weird? Run:
python -m tools.pdf-metaclean --report
This opens a pre-filled email. Send it and I'll get notified automatically.
You can also email danyblitz@googlemail.com directly. Use the subject format:
[TOOL-REPORT] pdf-metaclean <what happened>
Attach the PDF or log output if you have one.
License
MIT
Metadata
Release files for pdf-metaclean 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pdf_metaclean-1.0.1.tar.gz | 4.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pdf_metaclean-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.9 kB
Release files / pdf_metaclean-1.0.1.tar.gz
| Download URL | pdf_metaclean-1.0.1.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2868835af80c749f938fff5fce2be7470c68e1667f820918a059dff014b78dc4
|
|
BLAKE2b-256 checksum How to use checksums |
e271125834f2bf8953c48e6e338dcd71ec3e95c441c71a6d036741a48f1b7b3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pdf_metaclean-1.0.1-py3-none-any.whl
| Download URL | pdf_metaclean-1.0.1-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2195c0461e4d6e38837bfe0ca6e3d30d410841a669c72868e83874fc2f675453
|
|
BLAKE2b-256 checksum How to use checksums |
aadad3b85ccf2a4a5a139c69e4da2bc0ba5f6d933eef8187ff8472aede35368a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|