PDF Alt Text Generator
Add alternative text to images in PDFs for accessibility (WCAG 2.1 / PDF/UA). Enumerates every image on every page, lists those missing alt text, lets you batch-add alt text via a pipe-separated textarea, auto-generates placeholder alt text ('Image N on page M'), marks decorative images so screen readers skip them, and validates alt text quality. Multi-format reports (text/CSV/JSON), WCAG compliance scoring, history, shareable URL, and 100% client-side.
About PDF Alt Text Generator
Add alternative text to images in PDFs for accessibility (WCAG 2.1 / PDF/UA). Enumerates every image on every page, lists those missing alt text, lets you batch-add alt text via a pipe-separated textarea, auto-generates placeholder alt text ('Image N on page M'), marks decorative images so screen readers skip them, and validates alt text quality. Multi-format reports (text/CSV/JSON), WCAG compliance scoring, history, shareable URL, and 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
What does the PDF Alt Text Generator do?
It loads your PDF in the browser using pdf-lib and walks every page's XObject resources to enumerate all images. For each image it checks whether an /Alt (or /ActualText) entry already exists, then lets you add or override alt text through a pipe-separated textarea (one image per line: page|image_index|alt_text). You can also auto-generate placeholder alt text ('Image N on page M'), mark images without meaningful content as decorative so screen readers skip them, and download the updated PDF. A WCAG 2.1 SC 1.1.1 compliance score is computed based on how many images have alt text.
What extra features does this tool have compared to others?
(1) Page-range parser (reuse shared module). (2) Image enumerator per page. (3) Pipe-separated alt-text parser. (4) Alt-text applier (sets /Alt entry on image XObject). (5) Decorative-image marker (empty /Alt + artifact). (6) Image list formatter for UI display. (7) Alt-text validator (length, descriptiveness, no-filename-only). (8) Auto-alt-text generator ('Image N on page M'). (9) Missing-alt-text finder. (10) Multi-format renderers (text/CSV/JSON). (11) Copy + Download. (12) History (localStorage, last 20). (13) Shareable URL. (14) Summary stats (total images, with alt, without alt, decorative count). (15) Alt-text quality scorer. (16) Image type detector (photo/diagram/chart/decorative heuristic). (17) WCAG 2.1 compliance checker. (18) Page-by-page image count.
How does the decorative-image marker work?
When you mark an image as decorative, the tool sets its /Alt entry to an empty string and adds an /Artifact flag (PDF/UA convention). Screen readers conforming to PDF/UA will skip these images entirely. This is the WCAG 2.1 technique for purely decorative images that convey no information (borders, background patterns, spacer GIFs).
What format does the alt-text textarea use?
One image per line in the format: page|image_index|alt_text. The pipe (|) separates fields; the alt_text field may contain spaces and commas. Lines starting with # are ignored as comments. Whitespace around the alt_text is trimmed. Example: '1|0|Company logo showing blue circle with white checkmark'.
Is my data sent anywhere?
No. All alt-text processing runs 100% in your browser using JavaScript and pdf-lib. Your PDF never leaves your device, and the tool works offline. History is stored in localStorage on this device only.
Related tools
Add Stamp to PDF
Add a stamp to PDF pages — choose from APPROVED, DRAFT, CONFIDENTIAL, PAID, RECEIVED, REJECTED, or custom text. Set position, size, color, and date. 100% private.
Compress PDF
Reduce PDF file size by re-saving with object streams and optionally stripping metadata. 100% private — runs in your browser, no uploads.
Crop PDF Pages
Crop PDF pages by setting custom margins (top, bottom, left, right). Apply to all or selected pages. 100% private, runs in your browser.