The Paper Lens app icon: a page seen at an angle, on indigo.

Android · Coming soon

Paper Lens

A document scanner that keeps your documents. It finds the page, flattens it, reads the text on your phone so you can search inside your scans, and writes a PDF out of the photographs it already took. Nothing is uploaded, because there is nowhere for it to go.

Status

Finished enough to use every day, and being tested privately.

Paper Lens is in internal testing. It is a signed release build on real phones, it is scanning real documents, and the feedback from that is still being folded back in. It is not on Google Play yet.

There is no release date, and there will not be one until it deserves one. Shipping the date and then the app is how software gets worse. If you would like an email on the day it lands, ask for one — that is the entire mailing list, and it will be used for exactly that.

01 How it works

Point, correct, keep.

Point it at a page.

It looks for the page in every frame while you hold the phone, draws the edges it has found, and takes the photograph itself once the page is steady and square enough. If you would rather decide that yourself, switch to manual — the detection keeps running, so the crop is still waiting for you afterwards.

Correct it, if it needs correcting.

The perspective is flattened, and every corner can be dragged with a magnifier under your fingertip so you can see what is beneath it. If dragging is difficult, each corner can be nudged a step at a time instead. Filters, brightness and contrast are one control away, and nothing is ever written over your original photograph.

Keep it, in a form that outlives the app.

Scans are ordinary JPEGs in a folder you chose, described by a plain text file beside them. Open them with anything. Copy them to a computer. Uninstall Paper Lens and they are still there, still readable, still yours.

02 What it does

The short list, on purpose.

There is no cloud folder, no team workspace, no subscription tier and no document assistant. What is here is what a scanner is for.

Finds the page for you

Live edge detection, an automatic shutter when the page is steady, and a manual mode when you want the decision.

A crop you can actually make

Four corners, a magnifier under your finger, and a nudge control for anyone who cannot drag precisely.

Filters that are not destructive

Colour, greyscale, black-and-white and the untouched original, plus brightness and contrast. Apply one to every page at once, or reset back to the photograph.

Multi-page documents

Add pages, drag them into order, retake a bad one or delete it — without disturbing any of the others.

Search inside your scans

The text of every page is read on the device and indexed, so a search finds words that appear in no title, and shows you which page they are on.

PDF export with no re-encoding

Pages are embedded exactly as captured. A five-page export measured a few hundred bytes per page beyond the photographs themselves — no generation of quality is lost.

Images, and sharing

Export as numbered image files, or hand a copy to another app through the system share sheet without it ever touching your scans folder.

Backup and restore

Every scan and its description in a single zip file you control, and a restore that puts the whole library back — titles, page order and crops included.

03 Privacy

It cannot upload your documents.

That is a statement about the binary, not an intention. Android requires an app to declare the internet permission before it can open a connection, and Paper Lens does not declare it.

  • No internet permission. There is no code path to a network, and no server on the other end of one.
  • One permission in total. The camera, asked for on the screen that uses it. Refusing it is a supported way to use the app — importing from your gallery still works.
  • Your files, in your folder. Ordinary JPEGs plus a plain text description, in a location you picked. Or app-private storage if you would rather no other app could read them, and you can move between the two whenever you like.
  • Text recognition happens on the phone, using a model that ships inside the app. Recognised text is never transmitted.
  • Android's automatic cloud backup is switched off, so a scanned passport cannot ride into a Google backup you had forgotten about.
  • No analytics, no advertising, no crash reporting, no account.

Read the full privacy policy

04 How it was built

Some of the decisions, and what they cost.

A scanner is mostly invisible engineering. These are the parts worth telling you about, because each of them is a reason the app behaves the way it does.

Edge detection

Written by hand, scored against real photographs.

There is no computer-vision library in the app. The pipeline that finds the page is Kotlin, and every change to it is measured against a corpus of real captures. A change that lowers the median overlap with the true page is rejected, however good it looks on the one desk it was tested on.

Frame budget

The detector measures itself instead of guessing your phone.

Detection runs on the camera preview, and phones vary far more than any tier list admits. Rather than sorting devices into fast and slow, it watches its own frame times and spends exactly what the hardware in your hand can afford.

PDF export

A PDF writer built from the specification, so nothing is re-encoded.

Every library that would have saved the work decodes your image and encodes it again, which costs a generation of quality on every export. Paper Lens embeds the JPEG it already has, byte for byte. A five-page export came out a few hundred bytes per page larger than the images inside it, and every embedded stream is identical to its source.

Text recognition

It reads the corrected page, not the photograph.

Recognition runs after the crop, so the engine is never asked to read words off the desk behind your document. The text is kept twice on purpose: in a file beside your scan, so a restored library is searchable again without re-reading anything, and in an index, so searching answers as fast as you can type.

The library

The database is a cache, and the folder is the truth.

Everything needed to rebuild the library lives in your folder. Clear the app's data, reinstall it, point it back at the same place, and it reads the folder and returns your scans with their titles, their page order and their crops. This was tested by deleting everything and getting it all back.

Accessibility

The crop tool had to work without sight.

The crop canvas is drawn rather than assembled out of ordinary controls, which made it invisible to a screen reader — a scanner nobody could crop is only finished for some people. It now describes itself and offers a way to select and move each corner, and the release checklist includes a screen-reader walk, 48 dp targets, measured contrast and a pass at 200% text.

First release build

It broke on a real phone, in the way first release builds do.

Everything worked in debug and then the optimised build crashed as soon as it recognised text — and, because the app retries unfinished work at launch, it then crashed at every launch after. It was diagnosed by retracing the phone's own crash log against the build, and fixed with rules narrow enough to keep the size gain. This is why "verified on a device" is the last line of the checklist, and not "compiles".

05 Details
Requirements
  • Android 11 or later.
  • A camera, for capturing. Importing from your gallery works without one.
  • Roughly 9 MB to download. Most of that is the text-recognition model, which is inside the app so it never has to be fetched.
  • No account, and no network connection at any point.
Price

Free, with a donation link.

No advertising, no subscription, and no feature held back behind one. If it turns out to be useful to you, there will be a way to say so.

06 — Contact

Questions, or a bug.

Support for Paper Lens is one person and one address. Bug reports, accessibility problems and arguments about features are all welcome.

The support page lists what to include so a problem can be fixed on the first attempt, and answers the questions that come up most often.

Email

Please do not attach a scanned document unless it has been asked for. Almost every bug can be found without one.