Migrate notes between Google Keep, Apple Notes, Evernote, Notion, Markdown, and PDF.
A free, secure, browser-based tool to migrate your notes between popular services like Google Keep, Apple Notes, Evernote, and Notion. Also extracts text from PDF notes and converts them to the format of your choice. All processing happens entirely in your browser, ensuring your notes remain private.
Every supported source × target, in one place:
| From ↓ / To → | ENEX (Apple Notes / Evernote) |
Markdown (Obsidian / Notion) |
JSON (.json) | PDF (.pdf) |
|---|---|---|---|---|
| Google Keep JSON / HTML | ✓ | ✓ | ✓ | ✓ |
| Notion (Markdown + CSV) | ✓ | ✓ | — | ✓ |
| Evernote (.enex) | — | ✓ | ✓ | ✓ |
| Markdown / Obsidian | ✓ | — | — | ✓ |
| JSON (raw) | — | — | — | ✓ |
| PDF (.pdf) | — | — | — | ✓ |
- Privacy first. Runs entirely in your browser. Files are never uploaded to any server.
- Six source formats, three output formats. See the matrix above.
- Accurate timestamps. The note's own embedded date is used when available; falls back to the source file's last-modified date.
- Drag-and-drop everything. Zips, folders, individual files. Recursive folder support; the tool picks the right files inside a Takeout archive automatically.
- Resilient parsing. Unreadable or corrupted files are skipped with a clear toast notification; the run doesn't fail.
- Apple Notes image support. Keep images are MD5-hashed and embedded as
<resource>tags in the ENEX output. - PDF text extraction. Drop a
.pdf; multi-page documents become one note with<h2>Page N</h2>per page. The 1.6 MB PDF parser is loaded on demand. - No installation. Chrome, Firefox, Safari, Edge. PWA-installable.
- Dark / light theme. Respects your system preference with a manual override.
Visit migrator.mgks.dev and choose the output format from the bottom dropdown. The on-screen guide updates with the export steps for your source app.
- Google Keep: Google Takeout → deselect all → tick Keep → export → download the
.zip. - Notion: Settings → Export all workspace content → Markdown & CSV → download.
- Evernote: File → Export Notes →
.enex. - Markdown / Obsidian vault: drag the folder or zip straight in.
- PDF notes: just drop the
.pdffiles. Multi-page PDFs become one note with<h2>Page N</h2>per page; multi-file drops become multiple notes.
Drop your files in the upload area. The tool scans, detects the format, and shows your notes in a checklist. Select the ones you want, then click Download.
- Apple Notes (Mac): File → Import to Notes → pick the
.enex. - Apple Notes (iOS): AirDrop or save the
.enexto Files → tap → Share → Notes. - Obsidian: open the Markdown
.zip, drop the extracted folder into your vault.
| 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 between HTML/JSON and Markdown with YAML Frontmatter |
| unpdf | Extract text from PDF notes (loaded on demand) |
| 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 |
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.
Contributions are welcome! Please open an issue or pull request on GitHub.
MIT
{ github.com/mgks }
