DocForensic

PDF to PDF/A Converter

Convert a PDF to archival-grade PDF/A (1b/2b/2u/3b/3u) - embeds fonts, converts color spaces, flattens transparency where required, and validates the result with a plain-language pass/fail report.

This tool converts a PDF into a PDF/A archival format. It first scans for compliance blockers - unembedded fonts, spot colors, transparency, encryption, embedded JavaScript/multimedia, and missing identification metadata - then converts the file via Ghostscript and validates the result, reporting a genuine pass/fail with the specific reasons if anything remains unresolved. It only reads the file; a new converted copy is written.

Validation here is this tool's own pure-Python best-effort check, not an official PDF/A conformance certification.

Simple workflow

How it works

  1. 1

    Add PDFs

    Add one or more PDFs to the list, and choose which PDF/A level to target.

  2. 2

    Pre-check

    Run a quick readiness scan on a file to see what would block compliance before converting.

  3. 3

    Convert

    Convert the file and review its conformance checklist and validation result, then download.

Frequently asked questions

What's the difference between the PDF/A levels?

1b is the oldest and most compatible but prohibits transparency entirely (it gets flattened). 2b allows transparency and JPEG2000 images. 2u adds a requirement that all text have real Unicode mapping for reliable copy/paste and search - this tool only claims "u" conformance when it can verify that's genuinely true, otherwise it honestly reports "b" instead. 3b/3u are the same as 2b/2u but additionally permit embedding non-PDF file attachments.

Does a "Valid" result mean this file is officially PDF/A certified?

No. This tool does not run an external PDF/A validator (like veraPDF) - "Valid" here means this tool's own checks found no remaining blockers after conversion, not a machine-certified conformance claim. Treat it as a strong signal, not a legal archival certificate.

What if a font can't be embedded?

If the original font isn't available to embed, Ghostscript substitutes a similar font and embeds that instead - this can change the exact appearance slightly (e.g. character spacing) but still achieves compliance. This is disclosed as a note, not hidden.

Stay ahead of your document work

New tools and thoughtful product updates, delivered occasionally. No noise, no spam.