evernote-backup
evernote-backup is a Python command-line tool that syncs Evernote notes to a local SQLite database and exports them as ENEX files. It supports both Evernote and Yinxiang (Chinese service), with incremental sync, notebook-level or single-note export, and optional task/reminder backup.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | vzhd1701/evernote-backup |
| Owner | vzhd1701 |
| Primary language | Python |
| License | MIT — OSI-approved |
| Stars | 1.7k |
| Forks | 125 |
| Open issues | 17 |
| Latest release | 1.13.1 (2025-04-23) |
| Last updated | 2025-04-28 |
| Source | https://github.com/vzhd1701/evernote-backup |
What evernote-backup is
A Python CLI leveraging the Evernote Cloud API for authentication and sync, storing notes in SQLite with offline ENEX export capability. Supports OAuth for Evernote, credential-based auth for Yinxiang, and uses a custom sync protocol to track incremental changes. Deployable via pip, Homebrew, Docker, or from source.
Get the evernote-backup source
Clone the repository and explore it locally.
git clone https://github.com/vzhd1701/evernote-backup.gitcd evernote-backup# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires valid Evernote or Yinxiang credentials and OAuth setup (or headless login with credentials). First sync can be time-consuming for large note libraries (behavior scales with note count).
- SQLite database file (`en_backup.db`) must be stored on stable local disk; loss of database requires re-initialization and full re-sync. Plan disk space accordingly.
- Auth token expiry is handled via built-in `reauth` command, but tokens must be refreshed before they expire. Script automated syncs to restart on auth failures.
- Docker deployment requires port 10500 forwarding for OAuth callback if used in a container. Ensure networking configuration matches your infrastructure.
- Python 3.x required; portable binaries available for macOS, Linux, and Windows, but source builds require Poetry for dependency management.
When to avoid it — and what to weigh
- Real-time bidirectional sync required — This tool is unidirectional (pull-only). Changes made locally are not synced back to Evernote; it is designed for backup and export, not two-way synchronization.
- Task/reminder backup without extra setup — Tasks and reminders require obtaining an official desktop app token via a third-party tool (evertoken) and are not accessible via the standard public API. This adds complexity.
- Enterprise-scale note management across teams — No collaborative features, team vaults, or enterprise API support documented. Best suited for individual use, not multi-user or organizational deployments.
- Offline-first or zero-network-access scenarios — Initial database setup and sync operations require live Evernote API access. Database can be queried offline, but synchronization cannot begin without network connectivity.
License & commercial use
MIT License. Permissive OSI-approved license allowing use, modification, and distribution with minimal restrictions. See LICENSE file in repository for full terms.
MIT License permits commercial use without requiring a commercial license or fee. However, ensure compliance with Evernote's Terms of Service and API usage policies—the tool itself is licensed permissively, but your use of Evernote's services must comply with Evernote's own commercial policies.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
Authentication credentials (username/password/OAuth tokens) are handled via CLI prompts or command-line flags; exercise caution in scripts to avoid credential exposure in logs. SQLite database contains plaintext note data and auth tokens—restrict file permissions. No encryption at rest documented. SSL/TLS used for API communication; CA certificate validation can be customized. No formal security audit or vulnerability disclosure policy stated; review code and dependencies before using with sensitive data.
Alternatives to consider
ExportAllEverNote
Similar Python-based export tool, but appears less actively maintained and lacks incremental sync or local database storage; one-shot export only.
evernote-to-sqlite
Converts existing ENEX files into SQLite for querying, but does not perform live sync from Evernote API. Use if you already have ENEX exports and need database access.
Evernote's official export feature
Built into Evernote client; simpler but manual, not scriptable, and does not provide incremental updates or automated scheduling.
Build on evernote-backup with DEV.co software developers
Our team can help you integrate evernote-backup into your workflow, automate backups, or build custom data export pipelines. Contact us for a consultation.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
evernote-backup FAQ
Can I sync changes made in my local database back to Evernote?
What happens if my Evernote auth token expires?
Can I back up tasks and reminders?
Does this tool work with Yinxiang (Chinese Evernote)?
Custom software development services
Adopting evernote-backup is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.
Need a custom Evernote backup or migration strategy?
Our team can help you integrate evernote-backup into your workflow, automate backups, or build custom data export pipelines. Contact us for a consultation.