Guides & Migration··8 min read

Migrating from Evernote or Notion to Markdown without losing structure

Deciding to leave a proprietary note app is easy; the scary part is migrating ten thousand notes accumulated over five years. Many users stay trapped in legacy software because they fear losing page hierarchies, formatted tables, frontmatter properties, and embedded images.

KK

Kaan Karaca

Founder & Engineer at memrynote

Why export formats matter: The ENEX and HTML trap

Proprietary note tools intentionally make data export cumbersome to discourage churn. Evernote exports notebooks to `.enex` files — an archaic XML format containing escaped HTML entities, custom XML tags (`<en-note>`), and binary attachments encoded as giant base64 blocks.

Notion’s export produces zip archives with random 32-character hexadecimal UUID hashes appended to every single file and folder name (for example, `Project Roadmap 8f4a1c2b91d442eaa813c91834e9d012.md`). These hash suffixes break internal page cross-links, rendering wiki-links useless in standard Markdown editors.

A successful, loss-free migration must systematically clean up these artifacts, standardize metadata into standard YAML frontmatter, preserve folder structures, and convert internal URL references into standard `[[Wiki links]]`.

Migrating from Notion to clean Markdown

To migrate a multi-year Notion workspace to an open, local Markdown vault, follow this structured four-step methodology:

1. Export Workspace Package: In Notion, navigate to Settings & Members → Settings → Export all workspace content. Select "Markdown & CSV" and ensure the "Include subpages" toggle is enabled.

2. Unzip and Inspect: Extract the archive onto your local drive. Observe how Notion creates nested directories matching your page tree, but litters filenames with hexadecimal UUID hashes.

3. Automated Hash Stripping & Link Rewriting: Using an automated tool like memrynote’s built-in Notion importer, the system scans the directory tree, strips the 32-character UUID suffixes from file and directory names, translates Notion database properties into clean YAML frontmatter arrays, and rewrites Notion page links into standard `[[Page Name]]` wiki-links.

4. Attachment Verification: Verify that embedded screenshots, diagrams, and PDF attachments are extracted to relative `./attachments/` paths, ensuring notes render correctly offline in any Markdown editor.

  • Step 1: In Notion, go to Settings & Members → Settings → Export content → Select "Markdown & CSV" with "Include subpages" enabled.
  • Step 2: Unzip the export package. Notice that Notion generates hash suffixes on file and folder names.
  • Step 3: Use an automated importer (like memrynote’s built-in Notion importer) that automatically strips UUID hashes, converts Notion relation properties to YAML frontmatter, and rewrites Notion page links into `[[Note Name]]` wiki-links.
  • Step 4: Verify image and PDF attachments: ensure relative links like `./attachments/diagram.png` point to the local media directory.

Migrating from Evernote (.enex)

Evernote migrations involve exporting notebooks as `.enex` archives. The primary technical challenge is converting Evernote’s custom `<en-note>` XML and inline HTML markup into clean, portable CommonMark markdown.

Memrynote includes a specialized native .enex parser that automatically converts Evernote tags into YAML frontmatter arrays, transforms complex web clips and tables into standard Markdown syntax, extracts embedded binary attachments into an adjacent assets folder, and preserves the original creation and modification timestamps recorded in the ENEX metadata.

converted-note-frontmatter.yamlyaml
# Clean result after importing from Evernote/Notion into Memrynote
---
title: Project Architecture Overview
created_at: 2024-03-15T14:20:00Z
updated_at: 2026-08-31T09:00:00Z
tags: [architecture, backend, crypto]
source_app: notion
original_id: 8f4a1c2b-91d4-42ea-a813-c91834e9d012
---

# Project Architecture Overview

Referenced in [[Q3 Roadmap]] and [[Security Whitepaper]].

Verifying your new vault

Once your notes have been imported into a clean local Markdown folder, perform three quick verification checks to ensure complete data integrity:

1. Full-Text Search Coverage: Search for an obscure phrase from a historical note to confirm that indexing has indexed all imported content.

2. Backlink Resolution: Click on internal `[[wiki-links]]` to verify that cross-page navigation connects seamlessly without missing target warnings.

3. Raw Text Portability: Open the folder in VS Code, Obsidian, or inspect files with standard terminal tools like `cat` to confirm that every note is standard, readable plain text without proprietary locks.

Key Takeaways

  • Never let fear of migration keep you trapped in a slow, expensive, or unencrypted tool.
  • Clean Markdown with YAML frontmatter is the most future-proof format for personal knowledge.
  • Native importers handle the heavy lifting of stripping UUID hashes and converting proprietary XML into clean CommonMark.
  • Once in standard Markdown, your knowledge base is permanently free from vendor lock-in.

In Memrynote

Explore Note Features & Importers

Discover Memrynote’s markdown notes, backlinks, properties, and built-in importers.

Learn more
KK

Written by Kaan Karaca

Building memrynote — a local-first, zero-knowledge encrypted second brain for thought, tasks, and daily writing.

Follow on X / Twitter →

Related Guides & Essays