Introduction
Papermerge is a self-hosted document management system designed for scanned documents and PDFs. It applies OCR to turn image-based documents into searchable text and organizes them in a hierarchical folder structure with tags and metadata.
What Papermerge Does
- Applies OCR to scanned documents and image-based PDFs automatically
- Provides full-text search across all ingested documents
- Organizes files in a hierarchical folder tree with drag-and-drop
- Supports tagging, metadata fields, and document versioning
- Offers a REST API for integration with external workflows
Architecture Overview
Papermerge is a Python/Django application with a React-based frontend. OCR is handled by Tesseract, which runs as a background worker processing uploaded documents. The system stores metadata in PostgreSQL and files on the local filesystem or S3-compatible storage. A task queue (Redis + Celery) manages asynchronous OCR and indexing jobs.
Self-Hosting & Configuration
- Deploy via Docker Compose with the official images for the app and worker
- Configure OCR languages by setting the
PAPERMERGE_OCR__DEFAULT_LANGUAGEvariable - Use PostgreSQL as the database backend for production deployments
- Mount a persistent volume for
/mediato preserve uploaded documents - Optionally configure S3-compatible storage for document files
Key Features
- Automatic OCR on upload converts scanned pages into searchable text
- Full-text search powered by a search index across all document content
- Dual panel document viewer for side-by-side browsing and organization
- Role-based access control with user and group permissions
- REST API enables programmatic upload, search, and metadata management
Comparison with Similar Tools
- Paperless-ngx — focuses on consumption and auto-tagging; Papermerge offers a richer folder hierarchy and dual-panel UI
- Mayan EDMS — enterprise DMS with workflows; Papermerge is lighter and faster to deploy
- Docspell — Scala-based with NLP tagging; Papermerge uses standard OCR and is Python-native
- Teedy — Java-based lightweight DMS; Papermerge has stronger OCR integration
- Alfresco — enterprise-grade, heavy; Papermerge targets home and small-team use
FAQ
Q: Which OCR languages are supported? A: Any language supported by Tesseract. Set the default language via environment variables and install additional language packs as needed.
Q: Can I import existing PDF files in bulk? A: Yes. Place files in the import directory or use the REST API for batch uploads.
Q: Does Papermerge handle multi-page documents? A: Yes. Multi-page PDFs are fully supported with per-page OCR and thumbnail generation.
Q: What are the minimum system requirements? A: 2 GB RAM and 2 CPU cores are recommended for comfortable OCR processing speeds.