Hi there! I’m working on moving several years’ worth of notes from Evernote to Obsidian. Unfortunately, I’ve encountered several issues in the process, ranging from deal breakers to minor annoyances. I’ve tried both the Importer plugin and the standalone YARLE, but neither has worked smoothly.
I’ve searched the forums about this issue and found many threads, but none provided a solid solution.
I’ve been working on this for two months, and it’s been frustrating and painful, to say the least.
Things I have tried
Here are some of the issues I’ve encountered when importing notes from .enex files:
Some data and formatting are lost, even though they’re supported by HTML or other methods. Examples include underlined text, superscript, subscript, custom color highlights, and font size, type, and color.
Resized images in .enex files are imported as “full-sized” (YARLE imports only the last image in a note correctly resized).
The properties “Created at” and “Last updated at” aren’t imported correctly (YARLE creates them, but it only includes the date, not the time).
Evernote internal links aren’t converted properly — they appear as evernote:///view/[...] in Obsidian, instead of pointing to the correct Obsidian note.
Attachment file names are truncated to 50 characters.
File attachments are imported with preview enabled (![[file.pdf]]), even when they were displayed as just a title in Evernote. This is a big issue for me because notes with many PDFs make Obsidian very unresponsive. I’d prefer to import them all without previews ([[file.pdf]]).
I worked around some of those issues by patching the Importer plugin and YARLE (e.g., removing the 50 characters truncation), but other issues are more complex to solve.
I wrote a Python script to help me identify and manually fix some issues before exporting from Evernote, such as note titles with emojis, invalid characters, etc. It also lists notes with unsupported formatting (underline, superscript, subscript, etc.), tables with merged cells, notes with large attachments, notes with the same title, and attachments with the same file name. There are also functions to repair some of the issues I had after the notes were converted.
Is there a program or script that can import notes from Evernote to Obsidian without these issues? Or should I bite the bullet and try to write my own?
I’m afraid you are out of luck here, my friend. I was in the same boat and, in the end, opted for an almost pure (manual) migration. It took over two years of slow-burn efforts, but it was a great learning and pruning experience.
Luckily I didn’t need to do this migration, but I heard that Joplin has a robust import for .enex files. You could try to import to Joplin and from there export to “Markdown + Front Matter”.
I understand your frustration. I moved ~7k notes, and the associated attachments from Evernote to Obsidian at the beginning of this year. I was able to bring forward the complete date/time info for date created and last modified.
Have you tried importing your notes, using a template in conjunction with Yarle? This may be the missing link for your creation/modification data issue. Furthermore, the template will save you time down the road, ensuring your metadata / ‘properties’ are standardized for your imported notes and those notes created via Obsidian.
I converted from OneNote & Evernote four years ago. It was a painful process. I used a general conversion tool to get me 80% of the way, wrote one-off scripts to get me to 90%, and then corrected things by hand for the remaining 10%.
Some general things that I suggest:
Consider lumping your notes into different conversion categories. For example, one of the tools may do the job perfectly on a certain subset of notes. If you still have access to Evernote, you can make your job easier by moving these notes into a different notebook. Once you get those converted, change the notebook name to indicate to yourself that you’ve already converted that notebook successfully.
I converted my Evernote files to HTML and then into Markdown. I don’t recall how I converted my notes to HTML: Evernote may have offered this option directly. From there, I used a command line script to go file-by-file and use pandoc to convert from HTML to markdown using these command line flags pandoc -f html -t gfm --wrap=none --atx-headers -o.
Many of my notes from Evernote were web clippings. When I switched to Obsidian, I decided that I wanted to just get the “meat” from the article and store it in plain text. I had to do this by hand.
You could take Nick Milo’s approach and dump these raw files into a separate Obsidian vault and convert them by hand into your new vault as you need them. You may need to hold on to the HTML version of your Evernote files just in case formatting was lost.
Other thoughts:
Truncating file names is likely by design due to OS limitations. For example, Windows has restrictions on how long the full path name can be.
For your ![[file.pdf]] problem, you should be able to write a Python script to do a regex search and replace to change it to [[file.pdf]].