Papiro

The self-hosted Paperless alternative
that's 182× lighter.

Scan it, drop it, find it in a millisecond. An open-source document archive with OCR and instant full-text search, in one container that idles at 5 MB of RAM.

docker run -d -p 8000:8000 -v papiro-data:/data -e PAPIRO_ADMIN_USER=admin -e PAPIRO_ADMIN_PASSWORD=change-me ghcr.io/elpablazo/papiro
Papiro: folders, the document list, a preview and suggestions

Same job. A fraction of the machine.

Paperless-ngx boots Django five times over and keeps Redis, PostgreSQL, Tika and Gotenberg running next to it. Papiro is one Rust process with SQLite inside. Measured on the same machine with the same documents.

182×less RAM at idle5 MB vs 931 MB, with 10,000 documents
35×smaller install149 MB vs 5.16 GB of images
49×faster ingest1,000 PDFs in 1.5 min vs 72 min
196×faster lookups0.7 ms vs 143 ms among 10,000 documents
Footprint: RAM, install size and restart time compared with Paperless-ngx Speed: ingest, search and concurrent load compared with Paperless-ngx

Every number comes from a script you can run. Method and raw data, including where Paperless wins.

Everything you need. Nothing you don't.

Built for the person who keeps the household paperwork, not for an IT department.

Search that keeps up with you

Results as you type, with the matching words highlighted. Filter by folder, tag, correspondent, type and date.

Files itself, privately

Suggests folder, type and tags from documents you already filed, and spots expiry dates and totals. No AI service, nothing leaves your server.

Made for your phone

An installable app: snap a receipt with the camera, or (on Android) share a PDF from any app straight into your archive.

Never miss a renewal

A "due dates" view for passports, insurance and leases, plus totals over any list of receipts.

Hard to lose a file

Crash-safe ingest, a daily SHA-256 check of every document, and backups with 14 days of history.

Plays well with scripts and AI

REST API with OpenAPI, signed webhooks, and an MCP server so Claude can search and file for you.

Papiro on a phone: the archive, due dates and a document with suggestions

Coming from Paperless?

Bring everything over in two commands: documents, OCR text (no re-OCR), tags, correspondents, types, notes, custom fields. Storage paths become folders. Every file is checked against its SHA-256.

# 1. In Paperless (read-only export)
docker compose exec webserver document_exporter ../export

# 2. In Papiro
docker compose run --rm -v /path/to/export:/import:ro \
  papiro import /import

Where Paperless still wins

  • PDF/A output, page cleaning and deskewing before OCR
  • Workflows, mail rules and group permissions
  • A trained classifier, 37 UI languages (Papiro has 2)
  • Years in production and a big community

If you need those, Paperless is great. If you want something light, fast and easy to trust, try Papiro.

Questions

Is it really free?

Yes. MIT-licensed, no paid tier, no telemetry, no account. You run it on your own machine.

Where do my documents live?

On your server: one SQLite database and your original files in a folder. papiro export writes them out with readable names, so you never depend on Papiro to read your archive.

Will it run on a Raspberry Pi?

Images are published for amd64 and arm64. It idles at a few MB of RAM, so small boards and cheap VPSs are fine; OCR speed depends on the CPU.

Does the auto-filing send my documents anywhere?

No. Suggestions come from rules and from similar documents you already filed, computed on your server. An optional LLM integration exists, but it's off unless you add an API key.

Which languages does the OCR read?

Anything Tesseract supports. The image ships with English and Spanish; add more with one build argument.