A local, read-only desktop viewer for Maildir email archives β private, fast, and completely offline.
Many people use tools like isync/mbsync to keep offline backups of their mailboxes as Maildir directories. Until now, browsing those backups meant either firing up a full mail client configured to point at local files, or grepping through raw .eml files. Maildir Viewer is a lightweight, privacy-first alternative: it indexes your Maildir locally and gives you a proper mail client interface β without ever sending your data anywhere.
- Multiple accounts β add any number of Maildir directories side by side
- Full-text search β search across sender, recipient, subject, body, and attachment names using SQLite FTS5
- Per-folder search hit counts β see at a glance how many results each folder contains
- HTML email rendering β secure sandboxed iframe with DOMPurify and strict Content Security Policy
- Clickable links β external links open in the system browser; hover reveals the URL in a status bar
- Attachments β view file list and save to disk
- Incremental indexing β only new and changed files are re-indexed on refresh
- Dark and light mode β follows your system preference, switchable in settings
- English and German UI β language switchable at runtime
- Read-only β your Maildir files are never modified or deleted
Download the latest release for your platform from the Releases page:
| Platform | Format |
|---|---|
| Windows | NSIS installer (.exe) |
| macOS | Disk image (.dmg) |
| Linux | AppImage or .deb |
Requirements: Node.js 18 or later, npm 9 or later.
git clone https://github.com/azmke/maildir-viewer.git
cd maildir-viewer
npm install
# Build for the current platform
npm run package
# Or target a specific platform
npm run package:win # Windows
npm run package:mac # macOS
npm run package:linux # LinuxPackaged output is written to dist/.
npm install
npm run dev # Start with hot reload
npm run build # Production build only
npm test # Run tests- Add a Maildir directory via the sidebar. The app validates the path and starts indexing in the background.
- Browse your mail in the three-column layout β accounts and folders on the left, message list in the center, full message on the right.
- Search using the toolbar search bar. Results appear in the current folder; the sidebar shows the hit count for every other folder simultaneously.
- Refresh at any time to pick up new or changed messages without re-indexing everything.
The local database is stored at ~/.maildir-viewer/database.db. Deleting it causes a full re-index on next launch. Your original Maildir files are never touched.
Bug reports and pull requests are welcome. Please open an issue first to discuss larger changes.
