Skip to main content

PDF Accessibility Fixer — Add Language, Title & Tags

Add the basic accessibility metadata an assistive-technology user needs from a PDF: document language, title, and the marked-content flag. Quick mechanical fix for common WCAG / Section 508 audit failures.

Tap to select a file

Supports PDF, up to 100MB

Runs entirely in your browser

What to do next

Related tools

About PDF Accessibility Fixer

Most PDFs in the wild fail their first accessibility audit — not because their authors are careless, but because PDF accessibility involves a long checklist of metadata, structural, and content-tagging requirements that no word processor sets correctly by default. The PDF Accessibility Fixer applies the mechanical fixes that every audit checklist starts with: document language attribute, document title metadata, marked-content flag, viewer-preference for displaying the title in the title bar, and an XMP packet that screen readers consult before the legacy /Info dictionary. Twenty seconds of automation closes the most common findings on a PAC 2024 / WCAG 2.1 / Section 508 audit.

What the tool changes is small in scope but disproportionately important. The /Lang attribute on the document catalog tells screen readers which pronunciation engine to use — without it, a screen reader for a French document reads it with its English voice, which mangles every word. /MarkInfo[/Marked] = true declares that the PDF carries marked-content tagging, a prerequisite for PDF/UA compliance. /ViewerPreferences[/DisplayDocTitle] = true instructs viewers to show the title metadata in the title bar instead of the raw filename, which is often a meaningless string of underscores or random IDs. The XMP packet duplicates the title and language properties using the dublin-core namespace that assistive technology prefers. Finally, the /Info dictionary gets the title, author, subject, and keywords filled in.

What the tool deliberately does not do is build a structure tree mapping every visual element to a logical role (heading, paragraph, list item, figure with alt text). That work cannot be done mechanically — distinguishing a heading from a body paragraph requires reading the document with the human meaning in mind — and pretending otherwise would produce a fake-tagged PDF that fails an accessibility audit even more visibly than the un-tagged original. Full PDF/UA compliance starts with this tool's fixes, then continues with a human pass in commercial PDF editors Pro's Reading Order tool to set the structure roles. We are clear about that scope so users do not deploy a partly-fixed PDF assuming it is fully compliant.

A practical workflow: when a procurement portal or a government PDF policy mandates accessibility metadata, run every outgoing PDF through this tool to set the language and title automatically. For documents that need full structure-tree work (court filings, public-sector communications, accessibility-certified marketing collateral), use this tool first to handle the metadata in a few seconds, then bring the result into a commercial PDF editor for the structure pass — the metadata fixes survive the structure work cleanly because they live on different objects in the PDF.

How it works

  1. 1Drop a PDF onto the upload area. Files up to 100 MB are accepted.
  2. 2Set the document language as a BCP 47 tag (en, en-US, fr, fr-CA, de, ja, zh-Hans, etc.). Defaults to en-US.
  3. 3Set the document title (defaults to the cleaned-up filename if you leave it blank). Optionally set author, subject, and comma-separated keywords.
  4. 4pdf-lib applies the fixes: catalog /Lang, /MarkInfo[/Marked]=true, /ViewerPreferences[/DisplayDocTitle]=true, /Info dictionary, and a fresh XMP packet.
  5. 5Save. The page content streams are untouched; only catalog and metadata objects are modified, so every viewer that opened the original still opens the result cleanly.
  6. 6Run the result through your accessibility checker (common PDF accessibility checkers) to see the metadata findings clear. For full PDF/UA, follow up with a manual structure-tree authoring pass in a PDF authoring tool to add the structure tree.

Common use cases

  • Bring a marketing PDF up to the metadata baseline before publishing it on a government portal that mandates accessibility tags
  • Set the document language correctly on a French-language report so screen readers do not mispronounce every word
  • Add a meaningful title to a Word-exported PDF so the title bar shows "Q3 Earnings Report" instead of the raw filename
  • Prepare a stack of legal filings for a Section 508-compliant submission by automating the metadata fixes
  • Pre-process a PDF before a structure-tree pass in a manual structure-tree pass so the metadata is already correct when the human review starts
  • Add language and title metadata to a third-party PDF you are re-publishing on a public website

FAQ

What does this tool actually fix?

It addresses three of the most common findings on a PAC 2024 / WCAG 2.1 audit: missing /Lang attribute on the document catalog, missing title metadata, and missing /MarkInfo[/Marked] = true flag. It also stamps a Title in the XMP packet that screen readers prefer over the legacy /Info dictionary.

Does this make my PDF fully WCAG compliant?

No. Full PDF/UA compliance requires a proper structure tree mapping every visual element to a logical role (heading, paragraph, list, figure with alt text, etc.) — that work needs human review and cannot be done mechanically. The tool fixes the easy half so you can focus your accessibility budget on the hard half.

How does it pick the document language?

You set it in the options (defaults to en-US). The /Lang attribute is a BCP 47 tag — en, fr, de, es, en-US, en-GB are all valid. Screen readers use it to pick a pronunciation engine for the document text.

Will it break the existing PDF?

No. The fixes operate on the document catalog and metadata streams; the page content streams are untouched. Every viewer that opened the PDF before will still open it cleanly afterwards.

Will my PDF upload anywhere?

No. pdf-lib runs in your browser; the metadata changes happen in memory and the patched PDF is offered as a download.

Does this make my PDF fully WCAG compliant?

No. WCAG and PDF/UA require a proper structure tree mapping every visual element to its logical role (heading, paragraph, list item, figure with alt text). That work cannot be done mechanically — it requires human review of what each element actually is. This tool fixes the easy half so you can focus your accessibility budget on the hard half. The metadata fixes survive a follow-up structure-tree pass in a manual structure-tree pass cleanly.

Why is the document language so important?

Screen readers use the /Lang attribute to choose a pronunciation engine. Without it, a French document is read with the screen reader’s default English voice, which produces gibberish on every other syllable. This single fix is the cheapest, highest-impact accessibility improvement most PDFs can receive.

Will this break my existing PDF?

No. The fixes operate only on the catalog and metadata objects. The page content streams, embedded fonts, form fields, signatures and bookmarks are untouched. Every viewer that opened the original opens the result cleanly.

What does /MarkInfo[/Marked]=true actually do?

It declares that the PDF carries marked-content tagging — a prerequisite for any PDF/UA-compliant document. Audit tools check this flag specifically before they will report higher-level structure findings. Without it, the audit fails at the metadata layer regardless of what is inside the document.

Will my PDF be uploaded?

No. pdf-lib runs entirely in your browser; the metadata changes happen in memory and the patched PDF is offered as a download.

How is this different from the Metadata Editor PDF tool?

Metadata Editor PDF lets you set arbitrary /Info dictionary fields. Accessibility Fixer is purpose-built around the specific fixes accessibility audits look for — language, title, marked-content flag, display-doc-title preference, XMP packet — and applies them in one operation with the right defaults. Use Metadata Editor for general edits; use this when accessibility is the goal.

What language tag should I use?

Use the standard BCP 47 tag for the dominant language of your document. Common values: en (English generic), en-US, en-GB, fr (French), fr-CA, de (German), es (Spanish), it (Italian), pt-BR (Brazilian Portuguese), ja (Japanese), ko (Korean), zh-Hans (Simplified Chinese), zh-Hant (Traditional Chinese), ar (Arabic), hi (Hindi), ru (Russian).

PDF to Black & White

Convert a color PDF to grayscale. Each page is rendered, desaturated, and re-embedded in a new PDF.

Split Pages Horizontally

Split each PDF page into left and right halves. Ideal for scanned book spreads where two pages are captured in one scan.

PDF Comparison Tool

Visually compare two PDF files. Each page is rendered and diffed pixel-by-pixel, highlighting all changes in red.

Interleave PDF Pages

Interleave pages from two PDFs by alternating pages (A1, B1, A2, B2…). Ideal for reassembling duplex scans.

Reverse PDF Pages

Reverse the page order of a PDF document. All content, annotations, and formatting are preserved.

ZIP PDF Files

Bundle multiple PDF files into a single ZIP archive. Drop your PDFs and download them as one ZIP file.

Extract Single PDF Page

Extract any single page from a multi-page PDF into a new single-page PDF. Choose your page number — all content and annotations are preserved.

N-Up PDF Tool

Arrange two PDF pages per sheet (2-up layout) on landscape A4 pages for efficient printing.

View all PDF Tools