We have released Evernote to OneNote, a free open-source tool for moving Evernote ENEX exports into Microsoft OneNote.
This started as a test of our internal app-building harness: could it help take a real utility from idea to public release? The answer was useful but imperfect. The harness helped with product direction, UX review, and release checklists. The final integration still needed hands-on engineering, CI debugging, package publishing, and live smoke testing.
Personal note archives are sensitive. They often contain years of private work, ideas, receipts, meeting notes, and personal records. A migration tool should therefore be boring, transparent, and recoverable.
The design rules were simple:
The tool reads `.enex` files exported from Evernote, converts the Evernote note format into OneNote-compatible HTML, and creates notebooks, sections, and pages through Microsoft Graph.
It includes:
It is published on npm:
npm install -g evernote-to-onenote
evernote-to-onenote
The no-argument command starts guided mode. If you prefer explicit commands, start with:
evernote-to-onenote --auth
evernote-to-onenote --batch ./Evernote-Export --dry-run
evernote-to-onenote --batch ./Evernote-Export
The importer reads local ENEX export files. It does not connect to Evernote, does not delete anything from Evernote, and does not include analytics or telemetry.
For OneNote, it uses Microsoft's device-code sign-in flow. The saved Microsoft session stays on your machine. If you open a GitHub issue, do not attach private ENEX files, access tokens, or `msal-cache.json`.
This is a goodwill project rather than a paid product. If it helps you migrate safely, that is the point. If you find a bug, please open an issue with synthetic or redacted data only.