Free online PDF/A validator

Drop in a PDF and find out whether it is valid PDF/A-1b — and exactly which clauses it breaks. Your file never leaves your device.

Click to upload or drag & drop a PDF here

PDF files only · max 5 MB · processed locally

The validator runs entirely in your browser using WebAssembly, so the file you choose is never uploaded anywhere. It needs JavaScript enabled to start. You can run the same 159 checks offline with the command-line tool.

How it works

Runs in your browser

Most other online PDF/A checker asks you to hand over the document. This one doesn't need to.
Nothing is transmitted
gopdfrab is compiled to WebAssembly and executes in a Web Worker on this page. Your PDF is read from disk into memory in your own browser. No request carries it anywhere, because there is no endpoint to carry it to.
159 checks, not a guess
The same engine as the Go library and the CLI, covering ISO 19005-1 clauses 6.1 to 6.9 — structure, colour, images, transparency, fonts, annotations, actions, metadata and forms — plus generic ISO 32000 object-model conformance.
Meaningful results
Failures are grouped by area and each one names the clause it violates, the rule in plain words, and the page it sits on — a report you can act on rather than a pass/fail verdict.
Coverage

What gets checked

gopdfrab organises its 159 checks into 11 groups. Each maps onto a clause range of ISO 19005-1 (PDF/A), or to the generic object model beneath it.
gopdfrab PDF/A-1b check groups and the ISO 19005-1 clauses they cover
Group Specification area
File structure6.1.x — file header, trailer, xref, object framing, limits
Colour6.2.2 OutputIntent, 6.2.3.x device colours, 6.2.9–10
Images and XObjects6.2.4-6.2.7 image/form/PostScript XObjects
Transparency6.2.8 transfer functions, 6.4 soft masks/blend modes/alpha
Fonts6.3.x embedding, subsets, metrics, encoding
Annotations6.5.x annotation types and dictionaries
Actions6.6.x action types and additional actions
Metadata6.7.x XMP metadata, extension schemas, PDF/A identifier
Logical structure6.8 tagged PDF structure hierarchy and marked content
Interactive forms6.9 interactive forms
Object modelGeneric ISO 32000 object-model conformance, independent of PDF/A
Reference

What the failures mean

Every issue the validator reports has a clause behind it, a cause, and something you can do about it.
Font not embedded
Why "font not embedded" fails PDF/A-1b, what causes it, and how to fix it by embedding the font program or converting the document.
Glyph not in font
A character used on the page has no glyph in the embedded font subset. Why that fails PDF/A-1b and how to fix the subset.
Missing OutputIntent
PDF/A requires an OutputIntent with an embedded ICC profile when device-dependent colour is used. What that means and how to add one.
Device colour without OutputIntent
Using DeviceRGB, DeviceCMYK or DeviceGray in PDF/A-1b requires a matching OutputIntent. What the check means and the two ways out.
Transparency in PDF/A-1
PDF/A-1 is based on PDF 1.4 but forbids transparency groups, soft masks and non-Normal blend modes. Why, and what to do about it.
Transfer function present
Transfer functions, halftones and other device-level rendering controls are restricted in PDF/A-1b. What triggers the check and how to clear it.
FAQ

Frequently asked questions

Need this in your own code?

The browser tool is the same engine as the Go library and the CLI. Verify in a goroutine, gate a CI pipeline on it, or run it at the edge — a 12.3 MB static binary with no runtime dependencies.