What is inside an .enex file
ENEX is Evernote's XML export format. The file has a single `<en-export>` root element, and inside it one `<note>` element per note. Each note carries a `<title>`, `<created>` and `<updated>` timestamps (written in a compact UTC form such as `20240315T091500Z`), zero or more `<tag>` elements, a `<note-attributes>` block that can hold the author and the source URL of web clips, and the note body in `<content>`.
The body is not ordinary HTML. It is ENML — the Evernote Markup Language — an XHTML dialect wrapped in an `<en-note>` element and stored inside a CDATA section. ENML adds a handful of Evernote-specific elements: `<en-todo>` for checkboxes, `<en-crypt>` for passphrase-encrypted text, and `<en-media>` for anything embedded in the note.
Images and attachments live in `<resource>` elements at the end of each note: the file itself as base64 in `<data>`, its MIME type, and usually its original file name. The body refers to them by hash — `<en-media hash="…">` points at the resource whose bytes have that MD5 checksum. That indirection is why a raw .enex file is so unreadable, and it is what this viewer resolves: it decodes each resource, hashes it, and puts the image back where the note shows it.
How to export notes from Evernote
Exporting happens in Evernote's desktop app for Mac or Windows. To export a whole notebook, right-click it in the sidebar and choose Export notebook; to export a handful of notes, select them in the note list and choose Export from the note menu. When Evernote asks for a format, pick ENEX (.enex) — the HTML option produces one file per note, and the PDF option cannot be re-imported anywhere.
One export per notebook is usually the easiest structure to work with, because an .enex file does not record which notebook a note came from — the file name is typically the only trace of it. Tags are preserved, so if your organisation lives in tags rather than notebooks you can export everything at once and filter by tag here.
What survives, and what doesn't
Titles, text, headings, lists, checklists, tables, links, dates, tags, images and attached files all come through, and all of them are shown in this viewer. Web clips keep their source URL. Colours, highlights and font choices are displayed where the note used simple inline styles.
A few things cannot be recovered from the file alone. Encrypted text (`<en-crypt>`) was encrypted with a passphrase inside Evernote, and only Evernote can decrypt it — the viewer marks where it is rather than guessing. Links between notes use `evernote:///` addresses that point into your Evernote account, so they will not open anywhere else. Reminders, sharing settings and notebook stacks are not part of the export. And if an `<en-media>` reference has no matching resource — which happens with some partially synced notes — you will see a placeholder saying the attachment was not included.
Converting ENEX to Markdown
The Markdown export is built for moving notes into another app. Each note becomes its own `.md` file with YAML front matter holding the title, created and updated timestamps, tags, author and source URL, followed by the body as plain Markdown: headings, bold and italic, bullet and numbered lists, `- [x]` task items, tables, blockquotes and fenced code blocks. Images and attachments are written to an `attachments/` folder and linked with relative paths, so the whole zip can be dropped into an Obsidian vault or any Markdown-based tool.
Markdown has no way to express colours, font sizes or free-form layout, so those are dropped; the text itself is always kept. Exporting a single note without attachments gives you a plain `.md` file, and a note with attachments downloads as a small zip. If you have searched or filtered by tag, the export button exports just the notes in your current list.
Safe to open, even when it isn't your file
Note bodies are HTML from a file you may not have written, so the viewer treats them as untrusted. Every note is passed through DOMPurify before it is displayed: scripts, event handlers, forms and embedded frames are removed, and styles are cut down to simple text formatting. Nothing inside a note is allowed to fetch anything from the internet either — remote images and CSS backgrounds are blocked, which stops tracking pixels in old web clips from reporting that you opened them. The note's own images are shown from the file itself.
Attachments are only ever offered as downloads, never opened as pages on this site. Parsing runs in a background worker, reading the file in chunks, so exports of hundreds of megabytes stay responsive while notes appear as they are read.