</> JMS Dev Lab
Services Pricing About Blog Contact Get in Touch
Get in Touch
  1. Home
  2. /
  3. Blog
  4. /
  5. Evernote to OneNote

We Open-Sourced a Safer Evernote to OneNote Migration Tool

28 April 2026

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.

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

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

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

  • GitHub repository
  • npm package
  • Plain-English guide and quickstart

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.

Related reading: More on this topic · Buy vs Build: When Should a Small Business Build Custom Software? · Internal Tools vs Off-the-Shelf SaaS: When to Build Custom.

</> JMS Dev Lab

Custom software for businesses that are too unique for off-the-shelf tools and too small for enterprise pricing.

Services
Custom Development JewelryStudioManager StaffHub Jewel Value SmartCash Pitch Side RepairDesk GrowthMap QualCanvas
Company
About Blog Contact
Legal
Privacy Policy Terms of Service Pay Invoice
© 2026 JMS Dev Lab. All rights reserved.