Skip to content

PDF Accessibility

PDF Language Checker

Check the language and title declarations that control pronunciation.

Processed locally in your browser. Your file is not uploaded to any server. How this works

  1. 01Add your file
  2. 02PDF Language Checker
  3. 03Download

Runs in your browser · nothing uploaded

About PDF language checker

Two small declarations have an outsized effect on how a document is experienced. The first is `/Lang`, the language identifier in the document catalog. A screen reader uses it to pick a pronunciation engine, so a French document without `/Lang` set is read by an English voice and becomes close to unintelligible — every word phonetically mangled. Passages in another language can carry their own `/Lang` override on their structure element, which is what lets a quotation be read in the right accent mid-sentence. The second is the document title. A PDF holds a title in its metadata, quite separately from its filename, and a `DisplayDocTitle` flag tells viewers to show that title rather than the file name in the window and to the screen reader. When it is unset, a reader announces `report_final_v2_EDITED.pdf`, which tells a user nothing about what they have opened. Both are trivial to set at export time and both are routinely missed.

How to PDF language checker

  1. 01

    Open the PDF

    Drop in the document to check its declarations.

  2. 02

    Check the document language

    The report shows whether /Lang is set and to which identifier, and whether it looks correct for the content.

  3. 03

    Review passage overrides

    Foreign-language passages that should carry their own language tag are listed.

  4. 04

    Check the title

    Confirm a real title exists and that viewers are instructed to display it instead of the filename.

What this tool does

  • Verifies the document-level /Lang declaration and reports its value
  • Detects passages that appear to be in another language without an override
  • Checks for a real document title in the catalog, separate from the filename
  • Reports the DisplayDocTitle flag, which decides whether that title is actually used
  • Validates that language identifiers are well-formed BCP 47 tags

Limitations worth knowing

Every PDF tool has constraints. Stating them plainly is more useful than discovering them halfway through your work.

  • Language detection on passages is statistical and works poorly on short fragments, proper nouns and technical terms.
  • The tool cannot verify that a declared language is the right one — a document declared as English and written in German passes the presence check.
  • Whether a title is descriptive is a judgement call; “Document1” is a valid title and a useless one.
  • Not a PDF/UA or WCAG validator; no conformance statement is issued.

How your file is handled

This tool runs entirely inside this browser tab. When you choose a file, your browser reads it from your own disk and hands the bytes to JavaScript running on this page — no network request carries your document anywhere. You can confirm that yourself: open your browser’s developer tools, switch to the Network panel, and run the tool. You will see no upload.

Nothing is stored after the fact. Closing or reloading this tab discards the file, the result and everything derived from them, because none of it ever left your machine. Read how local processing works.

Questions about PDF language checker

Why does the language declaration matter?

A screen reader chooses its pronunciation engine from /Lang. A French document read by an English voice mangles every word phonetically, so the setting is the difference between usable and unintelligible — even though nothing looks wrong on screen.

What is DisplayDocTitle?

A flag telling viewers to show the document’s real title rather than its filename. Without it, a screen reader announces something like report_final_v2_EDITED.pdf, which tells the user nothing about the document they just opened.

Do I need to tag individual passages with a language?

Where a passage is genuinely in another language, yes — an override on that structure element lets the reader switch voices for it. For an occasional loan word it is unnecessary; for a quoted paragraph it makes a real difference.

How do I set these?

Both are set at export time in most authoring tools — a document language property and a title field, with an option to display the title. Setting them at source is far easier than patching them afterwards.

Read more about this

Background