PA

Paperwork

Personal document scanner and indexer for paperless homes

Document Management ★ 2.4k stars Medium setup GPL-3.0

OpenPaper.work (Paperwork's successor project family) helps individuals scan, OCR, and organize personal documents into a searchable archive on their own machine. It emphasizes a simple desktop-and-server workflow for going paperless.

Key features

  • Scanner integration
  • Automatic OCR
  • Tag-based organization
  • Local-first storage

Pros & cons

Strengths

  • Privacy friendly
  • Good for personal archives

Trade-offs

  • Desktop oriented
  • No multi-user mode

Paperwork replaces

Last reviewed Sep 13, 2026 · 899 words

The project behind openpaper.work is called Paperwork, it is a GTK desktop application, and there is no server to self-host. That is the first thing to be clear about, because the catalogue lists it beside Paperless-ngx and the two solve the same problem in opposite ways. Paperwork scans, OCRs and files documents on the machine in front of you and keeps them as ordinary files in a folder. Paperless-ngx runs on a server and you talk to it through a browser. For one person with one scanner and a preference for not running services, Paperwork is the right tool; the 2,400 stars, GPL-3.0 licence and 2014 start date describe a mature, quiet project that has done exactly one job for a decade.

What a self-hoster actually uses it for

The workflow is: put a page on the flatbed or in the feeder, press scan in Paperwork, it pulls the image over SANE, runs Tesseract on it, and files the result as a new document with the recognised text attached for search. You add labels, and Paperwork learns from them: after a few dozen documents it starts suggesting the right label for a new scan based on the text, which is the feature that makes it feel like more than a scanner front-end. Search is full-text across every page, so "find the boiler service invoice from 2023" is a 2-word query.

It also imports PDFs and images you already have, so a folder of downloaded bank statements can go through the same OCR and labelling as a paper letter. Export is per-document to PDF with the text layer embedded, which means a document leaving Paperwork is a normal searchable PDF that any other tool can read.

The storage model is the reason to trust it

Paperwork keeps a work directory containing one folder per document, and inside each folder the page images plus the OCR output as hOCR files, plus a small labels file. No database, no proprietary container. You can open that directory in a file manager and understand it, back it up with rsync, or point Syncthing at it and have the same archive on a laptop and a desktop. That is the self-hosting angle: the archive is a directory you own, and if Paperwork disappeared tomorrow the documents would still be readable images with text sitting next to them.

The catalogue's "no multi-user mode" caveat follows from this. Two people editing the same work directory at once will collide. One person on two machines with Syncthing works if you are disciplined about not scanning on both at the same moment.

Installing it

The Flatpak is the route on Linux:

flatpak install flathub work.openpaper.Paperwork

The Flatpak bundles Tesseract and the scanner library, so a supported scanner appears with no extra packages. Add the Tesseract language data for anything beyond English through the app's settings. There is a Windows installer as well, and the project's scanner support comes from its own libinsane layer, which handles SANE on Linux and WIA and TWAIN on Windows, so most consumer scanners from the last 15 years work. Memory use during OCR of a 300 dpi page sits around the 512 MB the catalogue lists; idle it is a normal GTK app.

There is also paperwork-cli, a command-line interface to the same work directory, which is the tool for scripting: batch-import a folder, re-run OCR after adding a language, or dump a document's text. That is as close as Paperwork gets to a headless mode, and it is enough to run a nightly import from a network scanner's drop folder with a cron job on the machine that owns the archive.

When Paperless-ngx is the better answer

If more than one person needs the archive, if you want to scan from a phone, if you want documents reachable from anywhere, or if you want an inbox that consumes email attachments, you want a server, and that server is Paperless-ngx. It has the same OCR engine underneath, a REST API, a mobile-friendly web UI, per-user permissions, and a far larger community. The Paperless-ngx guide covers the setup. It also costs a Redis and a Postgres container and the usual server upkeep, which is exactly what Paperwork lets you skip.

The two can coexist, loosely. Paperwork's exported PDFs go straight into a Paperless consume folder with their text layers intact, so a personal archive built over years on the desktop can migrate to a server later without re-scanning anything. The rest of the document management category is server-side, so Paperwork is the odd one out there, deliberately.

What I'd do

One person, one scanner, no interest in running a document server: Paperwork via Flatpak, work directory inside a Syncthing folder, backed up with the rest of the home directory, labels from day one so the suggestions become useful. A household, a small business, or anyone who wants to file a receipt from their phone: skip straight to Paperless-ngx. And if you built the archive in Paperwork and later outgrow it, export to PDF and drop the lot in the consume folder; the OCR you already did comes with it.

Compare Paperwork

4 head-to-head comparisons.

Similar document management apps