Make Notion notes searchable alongside scanned documents in a self-hosted Paperless-ngx archive.
Automatically re-sync only the Notion pages that changed since the last sync cycle.
Run a background service that mirrors a Notion database into Paperless on a schedule.
| script-hpp/notionless | 6elphegor/warp | adoslabsproject-gif/liara-toolkit | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | easy | hard |
| Complexity | 3/5 | 5/5 | 4/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Only exports paragraph and heading blocks today, lists, tables, and images are not synced yet.
notionless is a small Rust program that copies your Notion pages into Paperless-ngx, a self-hosted document archive that many people use to store scanned mail, invoices, and contracts. The idea is that if you already keep everything else in Paperless where it is searchable and backed up, your Notion notes should not be the one thing left stuck in a separate app you do not fully control. It runs continuously as a background service, checking a chosen Notion database on a schedule, usually every few minutes, and converting each page into a Markdown document that gets uploaded to Paperless. It only re-uploads pages that actually changed, by comparing a fingerprint of the exported content rather than trusting timestamps, since Notion's own timestamps are not precise enough to rely on. Each synced document in Paperless gets three extra fields attached so the tool can always tell which Notion page it came from and whether it is still up to date. The sync currently goes in one direction only, from Notion into Paperless, and it only understands basic Notion content like paragraphs and headings. Bulleted lists, to-do items, tables, code blocks, and any image or file attachments are not exported yet, so pages built mostly from those will show up nearly empty in Paperless. The author is upfront that this is early software built for their own use case of taking class notes without creating a second, unsearchable archive. Setting it up involves creating a Notion integration and sharing your database with it, creating an API token inside your Paperless admin panel, and filling in a configuration file with both sets of credentials before running the program with Cargo or Docker. If you already have some of the same documents in Paperless from before, the tool detects that and links to the existing copy instead of creating duplicates.
A Rust daemon that syncs your Notion pages into Paperless-ngx as searchable Markdown documents.
Mainly Rust. The stack also includes Rust, Notion API, Paperless-ngx.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.