firecrawl / pdf-inspector
Rust · GitHub Trending 1 Sep 2026 · 228 stars today
One letter, two representations

A PDF looks the same either way. Your parser does not agree.

The whole product is one binary question asked before any work starts: are these characters, or are these pixels of characters. Everything downstream, including whether you need OCR at all, hangs off the answer.

$ cargo add pdf-inspector
github.com/firecrawl/pdf-inspector
Specimen: the classification, drawnIllustrative
text-based
R
A character with a code point. You can select it, search it, extract it without guessing.
scanned
R
A picture that looks like a character. Extraction gets you nothing until something reads it.
routeextract
routesend elsewhere

Three jobs, one order

Inspection, classification, then text extraction. The order matters, because classifying first is what lets you skip work on the documents that do not need it.

Fast is the reason it sits in front

A classifier that runs before the expensive path only pays off if it is cheap. Rust and fast are both in the name line, and the second one has no number behind it.

What is not on this page

No accuracy rate, no throughput, no page-per-second figure, no definition of intelligently. The trending description names none of it.

Concept mock, not affiliated with the project. The GitHub Trending description on 1 September 2026 reads "Fast Rust library for PDF inspection, classification, and text extraction. Intelligently detects scanned vs text-based PDFs to enable smart routing decisions." The two panes are an illustrative drawing of that one distinction, using a rendered letterform rather than any real document. No accuracy figure, benchmark, or sample PDF is represented here.