# paperless-ngx
paperless-ngx is a free and open source **document management system** that turns your physical documents into a searchable archive, on your own server. The name says it all: keep *less paper*.
You scan a document, take a picture with your phone, or forward an email attachment. paperless-ngx reads it, classifies it, tags it, and makes it searchable.
## Why this matters
Everybody has that shoebox of receipts, the tax documents nobody has touched in years, the insurance policy lost in a drawer, and the rental agreement that takes 45 minutes to find every time you need it.
Commercial document management systems exist, but they're expensive and they keep your most sensitive documents on someone else's servers. paperless-ngx runs on YOUR hardware: a home server, a [[Synology NAS]], a Raspberry Pi, or a cheap VPS.
## What it does automatically
- **OCR** with [[Tesseract]], in 100+ languages. Every word becomes searchable
- **Machine learning classification**: it learns from your existing documents to assign tags, correspondents (who sent it), and document types (invoice, contract, tax form, medical record...)
- **Archiving as PDF/A**, a format designed to last decades. Your originals are kept as-is
- **Full-text search** across everything
## Other features
- **Email ingestion**: connect a mailbox, and attachments get consumed and filed automatically
- **Workflows**: trigger actions when specific documents arrive
- **Custom fields** for your own metadata
- **Multi-user** with per-document permissions and sharing. Great for a family or a small team
- Web interface with drag-and-drop upload
- A "consume" folder: drop files in, and they get processed
## Tech and license
- Backend in Django (Python), frontend in [[Angular]]
- Deployed with [[Docker]] and [[Docker Compose]]. There's an install script to get started quickly
- Licensed under the [[GNU General Public License (GPL)|GPL-3.0]]
- 45k+ stars on GitHub, hundreds of contributors, and years of releases
- A public demo is available
## A bit of history
paperless-ngx is the community-maintained successor of **Paperless** (the original project) and **Paperless-ng**. The "ngx" fork was created to spread the maintenance across a team instead of relying on a single person. That's a healthy model for a tool you trust with important documents.
## My take
This is a great example of [[Self-hosting]] done right, and of [[Data Ownership]]. Your documents are some of the most personal data you have: identity, health, finances. Keeping them in a system you control, in open formats, is the smart move.
Two things to keep in mind:
- **Backups are your responsibility.** A self-hosted archive without solid backups is a disaster waiting to happen
- **It's a system, not magic.** The auto-tagging gets better as you correct it. Spend a bit of time on your tags and correspondents at the beginning, and it pays off later
It also pairs nicely with a PKM system: paperless-ngx for the documents, your notes for what they mean and what you need to do with them.
## References
- Documentation: https://docs.paperless-ngx.com/
- Source code: https://github.com/paperless-ngx/paperless-ngx
- Demo: https://demo.paperless-ngx.com
- Thread by Nav Toor: https://x.com/heynavtoor/status/2045423162364735773
## Related
- [[Self-hosting]]
- [[Data Ownership]]
- [[Tesseract]]
- [[Docker]]
- [[Docker Compose]]
- [[Synology NAS]]
- [[Angular]]