I tested and compared 4 different methods for converting an Evernote .enex export into markdown for Obsidian, on MacOS.
- Import into Joplin (as markdown), export as markdown.
- Import into Bear, export as markdown.
- evernote2md - https://github.com/wormi4ok/evernote2md
- yarle - https://github.com/akosbalasko/yarle
Joplin and Yarle were the best at properly converting formatting, including tables and web clips. Their markdown output is nearly identical. The other two were fine, but didn’t output markdown quite as cleanly. Bear didn’t handle tables and evernote2md included some HTML if I recall.
PROs for Joplin:
- Much easier than Yarle because it’s an app.
-
Slightly superior markdown. (Yarle added some extra
\
characters but they don’t show up in the rendered Preview.)
CONs:
- Exported files don’t retain tags.
- Exported files don’t retain their Evernote last-modified timestamp.
PROs for Yarle:
- Exported files do retain their last-modified timestamp.
- Template feature for including metadata in the final markdown, including created-at and modified-at timestamps, tags, and lat/lon location. I used this to generate a front-matter section (see below), though the tags don’t conform to Obsidian’s standard format for frontmatter tags. And the rest of the metadata might need some post-processing if you want a different format.
CONs for Yarle:
- It’s a command-line utility so much more advanced. Took me a good hour to troubleshoot to get it working and work around an apparent bug in how the script finds my template file. Use the ‘npx / no install’ method if you go this route. I’ll inform the creator of the bug.
- Converts your note titles to lowercase - an annoyance since Obsidian filenames are used directly in text and lettercase can be meaningful.
- Bug: includes a blank location tag when there’s no location metadata attached to a note.
(I’ve submitted all of these issues to the creator so hopefully they’ll get resolved in the near future.)
Conclusion: Joplin is the quick and easy solution if you don’t mind losing metadata like tags and timestamps. Yarle is better if you want to keep metadata.
Bear will also output tags (at the bottom) and preserve file timestamp. Here’s a detailed blog post outlining Evernote conversion using Bear, that might also be helpful when using other methods. http://www.markwk.com/migrate-evernote-plaintext.html
Here is my Yarle template file, producing a frontmatter block followed by title and content:
---
{metadata-block}{notebook-block}evernote-notebook: {notebook}{end-notebook-block}
{created-at-block}created-at: {created-at}{end-created-at-block}
{updated-at-block}modified-at: {updated-at}{end-updated-at-block}
{location-block}location: {location}{end-location-block}{end-metadata-block}
{tags-block}tags: {tags}{end-tags-block}
---
{title-block}# {title}{end-title-block}
{content-block}{content}{end-content-block}
This produces something like this:
---
evernote-notebook: test-notebook
created-at: 2020-03-12T01:36:22-07:00
modified-at: 2020-03-23T00:57:58-07:00
location: -122.672119189073,38.44120077906999
tags: #test #test2
---
# Title of the note
Content of the note....