Reproducible evidence

PDF Compression Lab

A transparent local benchmark of what FitPDF's lossless engine can and cannot do. The corpus is synthetic, the method is repeatable, and the limits are stated explicitly.

Validated outputs60/60
Reached assigned target40/60
Median processing time32.3 ms
P95 processing time568.0 ms

What the benchmark contains

The current corpus contains 60 legally generated synthetic PDFs: 20 text documents, 20 vector documents, and 20 image-heavy documents. No private user files or scraped third-party documents are included.

Engine under test

qpdf-wasm-lossless. This report measures the lossless baseline, not the optional image-downsampling path.

Verification

Every output is parsed again and checked for page count, geometry, extractable text, content structure, and final byte size.

Targets

Documents are assigned one of four exact decimal targets: 200 KB, 500 KB, 1 MB, or 2 MB.

How to reproduce it

From the FitPDF project directory, run the benchmark command below. It regenerates the validated JSON report, this public summary, and the Markdown report.

npm run benchmark

What these numbers do not prove

Synthetic files make the run legal and repeatable, but they do not represent every real portfolio, scan, form, or PDF producer. Reaching an assigned target is not a promise that every user document will reach the same size. Competitor comparisons and the public production license for the lossy engine remain external approval gates.

Latest generated run: November 13, 2026 UTC. Results are published as measured; failed targets remain visible rather than being removed from the corpus.