Skip to content

mgks/NotesMigrator

Repository files navigation

Migrator

Migrate notes between Google Keep, Apple Notes, Evernote, and Notion.

release version stars license

image

A free, secure, browser-based tool to migrate your notes between popular services like Google Keep, Apple Notes, Evernote, and Notion. All processing happens entirely in your browser, ensuring your notes remain private.

Features

  • Privacy First: Runs entirely in your browser. Your notes are never uploaded to any server.
  • Multi-Format Conversion:
    • From: Google Keep (.html, ._keep), Evernote (.enex), Markdown (Notion / Obsidian exports).
    • To: Apple Notes (.enex), Evernote (.enex), Markdown (Obsidian / Notion compatible), JSON.
  • Accurate Timestamps: Creation and modification dates are preserved with a two-tier strategy — the note's own embedded date is used when available, falling back to the ZIP entry or file last-modified date. Notes will never falsely show today's date.
  • Easy to Use: A simple, modern interface with drag-and-drop, folder browsing, and automatic format detection.
  • Intelligent UI:
    • Dynamic instructions guide you on how to export from your source application.
    • Full recursive native folder drag-and-drop and button upload support to process nested notes alongside their attachments.
    • Automatically selects relevant files within large Takeout archives, hiding background system configs.
  • Resilient Parsing: Unreadable or corrupted files within an archive are gracefully skipped rather than halting the entire conversion. A clear toast notification lists the filenames that were missed, and full details are available in the browser console.
  • Rich User Feedback: Typed toast notifications (info, success, warning, error) replace disruptive browser alerts, keeping the experience smooth and non-blocking.
  • Handles a Wide Range of Content:
    • Note titles and content (HTML and Markdown).
    • Creation / modification dates (best-effort parsing with file-date fallback).
    • Checklists (checked and unchecked items).
    • Tags and labels.
    • Embedded and referenced images from exports.
  • Apple Notes Image Support: Images embedded in Google Keep exports are MD5-hashed and base64-encoded as <resource> tags in the ENEX output for seamless import into Apple Notes.
  • No Installation Required: Works directly in modern web browsers (Chrome, Firefox, Safari, Edge).
  • Dark / Light Mode: Respects your system theme with a manual override toggle.

How to Use

Step 1: Choose Your Conversion Path

  1. Visit migrator.mgks.dev.
  2. Use the dropdown at the bottom to pick the format you want to convert to.
  3. The on-screen guide will update with export instructions for your source app.

Step 2: Export Your Notes

  • Google Keep: Go to Google Takeout, deselect all, pick Keep, export, and download the .zip.
  • Notion: Settings → Export all workspace content → Markdown & CSV → Download .zip.
  • Evernote: File → Export Notes → .enex.

Step 3: Convert and Download

  1. Drag & drop the .zip, a folder, or individual files onto the upload area (or use the browse buttons).
  2. The tool scans, detects the format, and shows your notes in a checklist.
  3. Select the notes you want, pick an output format, then click Download.

Step 4: Import into Destination

  • Apple Notes (Mac): Notes app → File › Import to Notes… → select the .enex.
  • Apple Notes (iPhone/iPad): AirDrop or save the .enex to Files → tap → Share → Notes.
  • Obsidian: Open the Markdown .zip, drop the extracted folder into your vault.

Technology Stack

Package Purpose
gkeep-parser Parse Google Keep Takeout HTML into structured JSON
enex-io Generate and parse Evernote / Apple Notes .enex files
md-fusion Convert notes between HTML/JSON and Markdown with YAML Frontmatter
JSZip Read and write .zip archives in-browser
SparkMD5 MD5 hashes required for Evernote image resources
Day.js Date parsing and formatting
Vite + PWA Build toolchain and offline support

Privacy

All processing happens locally in your browser. Files are never uploaded to any server. Anonymous, aggregate Google Analytics is used solely to understand which conversion paths are most popular — no personal data or note content is collected.

Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.

License

MIT

{ github.com/mgks }

Website Badge Sponsor Badge