Skip to content

PDF to PDF/A

Prepare a document for archiving, and say what that cannot fix.

Processed on your device

This tool runs entirely in your browser. Your file is never uploaded, and you can verify that in your browser's network tab. Verify it yourself: open your browser's network tab and watch. You will see one small request asking whether you have tasks left - a tool name and a hash, never the file.

What this does

PDF/A is the archival profile: a set of restrictions meant to keep a file rendering the same way in decades to come, mostly by insisting that everything the page needs is inside the file. This writes the parts of that promise a browser can write honestly - the XMP conformance identification, an sRGB output intent with an embedded ICC profile, the structure markers and a document language - and, if you ask for it, re-renders the pages so no missing font is left to fail.

Court filings, grant applications, tender portals and records systems that reject anything not marked PDF/A, and any document you expect to open long after the software that produced it has stopped being installed anywhere.

How it works

  1. Drop the PDF onto this page. It must not be encrypted - PDF/A forbids encryption, so a protected file is refused with a link to Unlock PDF.
  2. Choose the part. PDF/A-2 suits almost every current requirement, PDF/A-1 is what older archives ask for, and PDF/A-3 differs mainly in allowing attached source files.
  3. Leave the mode on metadata to keep the text as vector text, or switch to rasterise if the document uses fonts it did not embed.
  4. For rasterise, set the resolution and leave keep text searchable on, so an invisible text layer is written behind the page images.
  5. Press Convert to PDF/A.
  6. Check the result with a validator such as veraPDF. This tool cannot check its own conformance.

Metadata mode writes several things at once, because a validator checks all of them. The Info dictionary and the XMP packet are always written together, since modern readers prefer XMP and a disagreement between the two is among the first things a validator flags. An sRGB output intent is added with a real ICC profile embedded, along with the marked-content flag, a document language and matching document and instance identifiers. For PDF/A-1 the header is also written as PDF 1.4 and object streams are left out, because part 1 is defined against that older version.

Fonts are where conversion honestly stops. PDF/A requires every font the page uses to be embedded, and a font the original left out cannot be conjured up afterwards - the glyph shapes are not there. This is the most common reason a file fails validation, and it is why rasterise mode exists: when every page is an image there are no text fonts left to embed.

Rasterise is a real trade. Vector text becomes pixels, so the file usually grows and zooming or printing past the resolution you chose looks soft. To keep the document usable an invisible text layer is drawn behind the images at the original word positions, so search and copy still work - and that layer uses an embedded font rather than a standard one, because a standard font would break the very requirement the mode exists to satisfy.

Conformance level A asks for more than level B: a tagged structure tree describing the reading order and role of everything on the page. That tree cannot be built after the fact from a finished PDF, so unless the source was already tagged, choosing A writes a claim nothing here can fulfil. Level B is the honest default, and it is what most submission portals actually require.

The conversion runs entirely on your device, which matters for the filings, contracts and records that usually end up here. The tool still cannot validate its own output, for a related reason: verification belongs to an independent validator, not to the program that wrote the file.

What this tool cannot do

  • The tool cannot validate its own output. It writes a conformance claim into the file; whether the file truly conforms is what an independent validator such as veraPDF says it is.
  • A font the source document did not embed cannot be embedded now, and that is the most common reason a file fails validation. Rasterise mode is the way around it.
  • Rasterise replaces vector text with page images, so the file usually grows and enlarged printing looks softer than the original.

Questions people ask

What is PDF/A and why does something want it?
It is an archival profile of PDF, standardised for long-term preservation. It bans anything whose rendering depends on the outside world - unembedded fonts, encryption, external content, unpredictable colour - so the file still looks the same in twenty years. Courts, archives and procurement portals ask for it because they must be able to open what you filed long after your software is gone.
Metadata or rasterise - which mode do I need?
Start with metadata. It adds the identification, output intent, ICC profile and structure markers while leaving text as text, which keeps the file small, searchable and sharp. Switch to rasterise only when validation fails on fonts, since it fixes that absolutely by turning the pages into images.
Is the output guaranteed to pass validation?
No, and any tool telling you otherwise is asking you to trust a claim nobody checked. This writes the conformance claim and everything about it that can be added after the fact, but it cannot inspect every page for transparency or image encodings that some parts forbid, and it cannot embed a missing font. Run veraPDF before you file anything that matters.
Validation says a font is not embedded. What can I do?
Either go back to the program that made the PDF and export it again with font embedding switched on, which gives the better result, or use rasterise mode here. Rasterising removes the problem by removing the text as text, and leaves an invisible searchable layer behind the images.
Do I have to upload the document?
No. The metadata is written and the pages are rendered in your browser, so filings and contracts never leave the device. That is checkable in the network tab of your developer tools, where the one request is the allowance check - a tool name and a hash of the bytes, never the filing itself.

Related tools