We Open-Sourced a Safer Evernote to OneNote Migration Tool
We have released Evernote to OneNote, a free open-source Windows desktop app for moving Evernote ENEX exports into Microsoft OneNote. A command-line version is also available for users who prefer the terminal.
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.
Why Build Another Migration Tool?
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:
- Preview before writing anything to OneNote.
- Never delete or modify Evernote data.
- Save progress after every note.
- Let interrupted imports resume safely.
- Keep the code public so users can inspect what it does.
What It Does
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:
- Guided mode for non-technical users.
- Dry-run reports so you can see what would be imported before anything is sent to Microsoft.
- Resume support if your laptop sleeps, your network drops, or you stop the import.
- Verification to compare saved progress against OneNote.
- Tag preservation as searchable hashtags in OneNote pages.
- Local HTML export if you want to inspect converted notes without using a Microsoft account.
Install
The easiest way to get started is the Windows desktop app. Download the latest release (v1.0.4) — a standard Windows .exe — from the GitHub releases page, run it, and follow the guided setup. No command line required.
If you prefer the terminal, the command-line version is also 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
Privacy Model
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`.
Links
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.
Frequently Asked Questions
What is the Evernote to OneNote tool?
It is a free, open-source command-line tool from JMS Dev Lab that moves Evernote ENEX exports into Microsoft OneNote. It reads local .enex files, converts Evernote’s note format to OneNote-compatible HTML, and creates notebooks, sections, and pages via Microsoft Graph. The code is public on GitHub so users can inspect exactly what it does.
Is the Evernote to OneNote migration safe for my notes?
Yes, by design. It previews before writing anything to OneNote (dry-run reports), never deletes or modifies your Evernote data, saves progress after every note, and lets interrupted imports resume safely. It reads only local ENEX files, does not connect to Evernote, and includes no analytics or telemetry.
How do I install the Evernote to OneNote tool?
It is published on npm. Run npm install -g evernote-to-onenote then evernote-to-onenote to start guided mode. For explicit control, use evernote-to-onenote --auth, then --batch ./Evernote-Export --dry-run to preview, then --batch ./Evernote-Export to import. OneNote uses Microsoft’s device-code sign-in, and the session stays on your machine.
Is the Evernote to OneNote tool free?
Yes. It is a free, open-source goodwill project, not a paid product, published on npm with source on GitHub. There is no licence cost and no telemetry. If you hit a bug, you can open a GitHub issue, but use synthetic or redacted data only — never attach private ENEX files, access tokens, or msal-cache.json.
Have a problem like the one in this post?
We build focused software for businesses that off-the-shelf tools don't fit. Get a free, no-pitch review — if buying an app or doing nothing is the right call, we'll say so.
— or just leave your email and I'll send the honest fix (one email, no newsletter) —