PDFArrow · Q3 2026 browser PDF benchmark
A reproducible benchmark for browser PDF fidelity and recovery
A public record of what the core release gate actually checks, what passed, and what still requires human review.
Reviewed July 21, 2026 by PDFArrow Product Engineering.
Methodology
Each core workflow is mapped to at least one browser regression assertion. The full gate covers simple, complex-layout, scanned, encrypted, malformed, large-document, and mobile scenarios on desktop Chromium, Android Chromium, and iPhone WebKit classes.
- Outputs are downloaded and reopened where the workflow produces a file.
- Assertions check concrete properties such as page count, file signatures, OOXML parts, extracted phrases, encryption structures, or reviewable comparison changes.
- Malformed and image-only recovery paths must leave the tool usable and explain the next safe action.
How to interpret the result
A passed assertion means the named property was verified for the published fixture. It does not promise pixel-perfect reconstruction for every font, form, scan, spreadsheet, or presentation. The per-tool pages state the exact property measured.
Performance collection
PDFArrow records privacy-safe operation duration, broad browser family, and device class when a user starts a supported export. Operations over 30 seconds are flagged for owner review. No filename, document text, or file content is included. Public percentiles will be added only after a statistically useful production sample exists.
Reproduce or challenge it
Download the fixtures below, run them through the named tool, and compare the output against the stated assertion. If you find a repeatable mismatch, include the browser family, device class, source fixture, expected property, and actual result in a support report.
Measured core workflow results
| Workflow | Measured release result | Method |
|---|---|---|
| Edit PDF | 1/1 styled-text round-trip fixture exported, reopened, and retained its detected style | Browser regression checks text detection, placement, history, export, and parseable reopen |
| Merge PDF | 3/3 expected native pages were present in the merged regression output | The test reopens the downloaded PDF and counts copied source pages |
| Split PDF | 2/2 selected pages were present in the split regression output | The test downloads the range and verifies the resulting PDF page count |
| Compress PDF | The regression output was smaller than its source fixture and remained parseable | The browser test compares byte size and reopens the downloaded result |
| PDF to Word | The regression DOCX contained a valid Word document body and visual-fidelity fallback | Tests inspect the OOXML package and verify the recovery path for image-only PDFs |
| PDF to Excel | 1/1 expected worksheet was packaged with the fixture's structured cell content | The regression test opens the XLSX archive and checks worksheet XML |
| PDF to PowerPoint | 1/1 expected slide and its media relationship were present in the PPTX package | The regression test inspects slide XML and the packaged page image |
| PDF to JPG | 1/1 output began with the verified JPEG FF D8 signature | The regression test downloads the image and inspects its leading bytes |
| PDF to PNG | 1/1 output matched the verified PNG file signature | The regression test downloads the image and inspects its eight-byte signature |
| PDF to HTML | 1/1 expected responsive SVG page was created with extracted text content | The test inspects the downloaded HTML for its SVG viewBox and page text |
| Word to PDF | The expected phrase was found in the downloaded PDF's searchable text layer | The browser test converts the DOCX, reopens the PDF, and extracts text |
| Excel to PDF | The expected Quarter Total label was found in the converted PDF | The regression test reopens the PDF and verifies extracted table text |
| PowerPoint to PDF | The expected slide phrase was found in the converted PDF | The regression test reopens the PDF and verifies extracted slide text |
| JPG to PDF | 1/1 JPEG fixture produced a valid one-page PDF | The browser test creates a JPEG, converts it, and parses the downloaded PDF |
| PNG to PDF | 1/1 PNG fixture produced a valid one-page PDF | The browser test converts the PNG and parses the downloaded PDF |
| HTML to PDF | The expected 42,000 value was searchable in the resulting PDF | The regression test converts sanitized HTML and verifies extracted PDF text |
| Sign PDF | The expected signature text was present after export and reopen | The regression places a signature, downloads the PDF, and inspects its content |
| Protect PDF | The regression output contained an encryption dictionary and rejected an unauthenticated open | The test inspects the PDF encryption structure and verifies password behavior |
| Unlock PDF | 1/1 authorized fixture downloaded as a parseable unlocked PDF | The browser test supplies the password and reopens the downloaded output |
| OCR PDF | The known fixture text was recognized and a confidence result was reported | The OCR regression runs locally and checks recognized text plus quality reporting |
| Compare PDFs | The regression produced reviewable text changes and a valid marked report PDF | Tests verify grouped changes, navigation, focused regions, and report export |
Downloads and evidence
- Simple searchable PDF2 pages · headings, paragraphs, and page numbering
- Complex layout PDF2 pages · columns, table, vector shapes, and rotated label
- Clean scanned PDF1 image-only page · high contrast printed text
- Degraded scanned PDF1 image-only page · skew, noise, and low contrast
- Encrypted PDFPassword: benchmark · authorized test fixture
- Malformed PDFIntentionally invalid · recovery testing only
- Large PDF100 pages · progressive loading and navigation
- Machine-readable resultAssertions, scope, date, and browser classes