Free · open source · nothing is uploaded
Photograph a document. Get a real scan.
Point your phone at a page. OpenDocScan finds the edges of the sheet, straightens
the perspective, cleans the lighting, reads the text, and writes a multi-page PDF
you can search and select from.
There is no account, no watermark on the output, no cap on pages, and nothing to
install. Open the page and scan.
Every step happens on your own machine.
The scanning core is written in Rust and compiled to WebAssembly — 138 KB over the
wire, gzipped. It runs in a background worker inside the tab, which is why dragging
the brightness slider on a 12-megapixel photo does not stutter.
Find the page
The sheet is outlined live in the viewfinder as you move. If the outline is
wrong, drag any of the four corners onto the right ones.
Straighten it
The quadrilateral you photographed is mapped back to a rectangle, sized from
the page's near edge so none of the sharp detail is thrown away.
Clean it up
Photo, Enhance, or Black & white, with brightness and rotation. Enhance
stretches the page back to white paper and black ink without crushing either.
Read it
On-device OCR puts an invisible text layer behind the page image, so the PDF
is searchable and selectable while still looking like the scan.
Build the PDF
Add, reorder and delete pages with no limit. Choose A4, Letter, Legal or the
scan's own shape, and how hard to compress.
Keep it, or don't
Finished documents stay in this browser and are searchable across every scan
you have made — by the words OCR read inside them.
138 KBCore, over the wire
73Tests on the core
0Requests after load
0Long tasks, per scan
Also being built for iPhone, iPad and Android.
The scanner runs in any modern browser, including the one on your phone. That is
the whole product today, and it is the version that does everything on this page.
The same Rust core is also being built into native apps, so that the camera, the
file picker and offline storage come from the platform rather than from a browser
tab. Nothing is rewritten for them — it is the identical scanning code, compiled
for the phone instead of for WebAssembly.
-
They are early, and worth saying so
A photograph currently reaches the core and comes back. Straightening, cleaning,
text recognition and PDF export all work in the browser today and are not yet
wired into the native shells. If you want a scanner that finishes the job right
now, open the web app.
-
Android: a release candidate you can sideload
Published for testing, not on any store. It is signed with a debug key, so your
phone will warn you it came from outside the store — which it did.
-
iPhone and iPad: building from source
Verified on the simulator, iPad layout and all. Handing out a build needs Apple
signing, so there is no TestFlight link to give you yet.
The only scanner where you can check the privacy claim yourself.
Every scanner app says your documents stay private. In a native app that is a
promise you have no way to audit. Here it is something you can watch happen:
open the developer tools, switch to the Network panel, and scan a page. After the
app has loaded, nothing else is requested.
-
The core cannot reach the network
The Rust module that does the scanning has no HTTP client and no networking
dependency compiled into it. There is no code path to a server.
-
The text recognition is served from here
OCR engines normally fetch their model from a public CDN, which would tell a
third party each time you scanned something. Every byte of it is served from
this site instead.
-
Cross-origin requests are refused, not merely avoided
A service worker sits in front of every request the page makes and answers
anything bound for another origin with a 403. A dependency that tried to phone
home in some future version would fail loudly rather than succeed quietly.
-
No account, no sign-in, no e-mail address
There is nothing to register for. Your documents are stored by your browser, on
your device, and are not on any server of ours.
-
No ads, no trackers, no analytics
The page you are reading loads no third-party script and sets no cookie. The app
does not either, and its test suite fails if a request ever leaves the origin.
Free, and free of the things scanner apps charge for.
There is no paid tier, no trial, no watermark to remove and no page limit to lift.
Every feature runs on your own device, which costs nothing to provide — so there
is nothing to meter and nothing to withhold.
The source is MIT or Apache-2.0. If that ever stopped being true, the version
where it was true would still be there to fork.
Before you scan anything.
- Does it work offline?
-
Yes. Once the page has loaded it keeps working with no connection, including
the text recognition — which is the part that usually needs a server.
- Can I use my phone's camera?
-
Yes, on any modern mobile browser. The rear camera opens straight into a live
viewfinder with the page outlined as you move.
- Is there an app for my phone?
-
The web app is one — add it to your home screen and it opens like any other,
works offline, and uses the rear camera. Native
iPhone, iPad and Android builds are also in progress over the
same scanning code, but they are early: today they get a photograph as far as
the core and back, and nothing beyond that. The browser version is the complete
one.
- Which languages does the text recognition read?
-
English today. The recognised text is written into the PDF as an invisible
layer, which currently carries Latin script only — a word it cannot encode is
left out of the searchable layer rather than mangled, and the page image is
unaffected either way.
- Where are my documents stored?
-
In this browser, on this device. Not in an account and not on a server, which
also means they do not appear on your other devices, and clearing your browsing
data clears them. The app asks the browser for persistent storage and tells you
plainly whether it was granted.
- Is the PDF actually searchable?
-
Yes — the text sits invisibly behind the page image, so the PDF looks like a
photograph of the page and behaves like a document. You can select the text,
search it, and copy out of it in any PDF reader.
- Is it really open source?
-
Yes —
the whole thing, under
MIT or Apache-2.0.