Extract text from any document.
PDFs and images, in your browser, free and without limits. Your file never leaves this tab — there is no server to send it to.
Drop a PDF or image, paste, or click to choose
PDF, PNG, JPEG, WebP — several files at once is fine
Pick the script that matches your document. Choosing wrong returns plausible-looking wrong text, not an error — the model reads confidently in whichever alphabet you gave it. Handwriting is unreliable. Full limitations.
Page
Extracted
How this works
Nothing is uploaded
The whole pipeline runs in this tab, including PDF rendering. Open your network panel and watch — once the weights are cached, there is no traffic at all. No account, no quota, no upload.
Works offline
Weights are cached by content hash on first use. Come back with no connection and it still reads.
The same code as the server
Detection post-processing, text decoding, reading order and markdown assembly are the same C++ that naina's Python and Node packages run — compiled to WebAssembly, not rewritten in JavaScript.
What it cannot do
Handwriting is weak, and scripts outside PP-OCRv6's character set (Devanagari among them) come back as confident nonsense rather than an error. Latin and CJK print are its strengths.