A modern, client-side web tool for checking the accessibility of PDF documents in batch. Upload one or more PDF files and instantly see if their text is selectable and readable — all directly in your browser, with no server upload required. Results are shown with document previews, clear status indicators, and easy navigation.
- Batch upload PDF files: Select one or more PDFs from your computer. Only 
.pdf,.pdf.p7m, and.p7mfiles are accepted (Windows shortcuts and other types are excluded). - Image area tolerance slider: Choose the maximum percentage of document area that can be made up of images (default: 80%). If a document contains more images than the set threshold, it is considered not accessible. This allows for more granular control over what is considered accessible, even for mixed-content PDFs.
 - Client-side analysis: All processing happens in your browser; no files are uploaded or stored elsewhere.
 - Accessibility check: The tool analyzes each PDF to verify if it contains selectable and readable text (not just images or corrupted content).
 - Visual previews: See a thumbnail of the first page for each PDF, or a placeholder if no preview is available.
 - Clear results table: Each document is marked as accessible (green lamp), not accessible (red lamp), or signed/not supported (yellow lamp), along with its file name and preview.
 - Paginated results: If more than 20 files are uploaded, results are split across pages, with navigation controls.
 - Progress bar and smooth UI: Animated progress indicators for file loading and analysis, with a modern, responsive interface.
 - Legend: A clear legend explains the meaning of the green, red, and yellow icons.
 
A PDF is considered accessible if:
- The document contains at least one page with selectable, readable text (not just scanned images).
 - The extracted text is readable (not corrupted or made up of random/garbled characters).
 - The percentage of image area in the document is less than the tolerance threshold set by the user (default: 80%).
 
A PDF is not accessible if:
- It only contains scanned images (no selectable text).
 - Its text is damaged or unreadable when copied/pasted.
 - It is encrypted, protected, or fails to load.
 - The percentage of the document composed of images is equal to or greater than the selected tolerance.
 
The tool supports checking digitally signed PDFs (typically .p7m and .pdf.p7m files):
- When a signed PDF is uploaded (
.p7mor.pdf.p7m), the tool tries to extract the embedded PDF using the ASN1.js library by Lapo Luchini. - If extraction is successful, the extracted PDF is analyzed like any regular PDF (for text accessibility, images, etc.).
 - If extraction fails (for example, if the file does not contain an embeddable PDF, or the signature format is unsupported), the document is marked with a yellow lamp and the label "Signed PDF (.p7m) not supported".
 - Native signed PDFs (PDF format with digital signatures, opened directly with PDF.js) are analyzed as normal PDFs — the signature is ignored for accessibility purposes.
 
Legend:
- Green lamp: Accessible document
 - Red lamp: Not accessible document
 - Yellow lamp: Signed PDF (.p7m) not supported for accessibility analysis
 
- Open the application in your browser (just open 
index.html). - Click the "Upload documents" button.
 - Optionally, adjust the image area tolerance slider to your desired value (default 80%). This sets the threshold for how much of a PDF can be image content before it is marked as "not accessible".
 - Select one or more PDF files from your computer (only real PDF files and signed PDFs are accepted; Windows shortcuts are skipped).
 - Wait for the progress bar and analysis to finish.
 - View results in the table:
- Each row shows a preview, file name, and accessibility status (green/red/yellow lamp).
 - If you uploaded more than 20 PDFs, use the navigation buttons below the table.
 
 - Check the legend for icon meanings.
 - Click "Upload more files" to start a new session.
 
The image area tolerance slider allows you to define the maximum percentage of each PDF that can be composed of images for it to be considered accessible.
- Default value: 80% (indicated on the slider).
 - If a PDF has images that cover more than the selected percentage, it is not accessible.
 - This is useful for mixed-content PDFs where a small amount of selectable text does not make the document truly accessible.
 
- All processing is done locally in your browser.
 - No file is sent to any server.
 - No data is stored except for temporary in-memory use during the browser session.
 
- No backend or server needed: Everything runs in your browser. Perfect for privacy-conscious workflows or environments where installation of new software is not possible.
 - No dependencies beyond your browser: Works on Windows, Mac, Linux, ChromeOS — anywhere with a modern browser.
 
- Does not check for full WCAG/PDF-UA accessibility, only for selectable/readable text and image content percentage.
 - Password-protected, encrypted, or DRM PDFs are marked as "not accessible".
 - Analysis speed depends on your browser and computer.
 - Extraction of PDF from 
.p7m/signed files depends on signature format; not all signed PDFs can be successfully analyzed. 
- PDF.js by Mozilla (Apache License 2.0)
 - ASN1.js by Lapo Luchini (public domain / MIT, see source)
 - Other icons/SVGs: custom or public domain
 
This project itself is released under the MIT License.
Feel free to open issues, ask questions, or contribute improvements!

