Convert Evernote’s .enex to .md Format

I’m using Evernote for the last 2 years and there were more than 1500 notes (including PDFs) saved in it.

But… recently, I discovered Obsidian and got fascinated by it. The offline notes, backlinks, privacy, speed and what not – it’s great. Finally, I decided to move all my notes from Evernote to Obsidian and then the problem started.

Evernote export file has .enex extension but Obsidian supports simple markdown (.md) files.

After researching a bit, I found a way, finally.

Let’s get into it…

🎯 Also see: Obsidian Keyboard Shortcuts to Boost Productivity

Convert Evernote Notes to Markdown (.md)

We’ll take the help of a Node.js tool called Yarle to execute the process.

Let me explain everything step-by-step.

Step #1 – Install Node.js on your computer

Whether you’re running Windows, Mac, or Linux; Node.js can be easily installed by following the instructions.

Right now, I’m on Windows 10; so all the screenshots will be according to that only. But… installation process for other OS is pretty straight forward too.

Install Node.js on your computer

Download the installer, install it on your machine and move to the next step.

Please note, to run this tool you need to be using Node.js version 10.22.1 or higher.

Step #2 – Download Evernote export file (.enex)

Select a notebook you want to export and click on the “Export Notebook” button as shown in the screenshot below.

Export Evernote .enex File

Please remember that for your system, the process can be a bit different. You can follow this guide for that.

Seconds after you click on the button, your .enex file will start downloading.

Save it anywhere on your computer and proceed next.

Step #3 – Create the config.json file

To run the script, you need to create a config.json file somewhere on your computer. I’d prefer to create the .json in the same folder where Evernote’s .enex file is.

For that, first of all create an empty file called config.json and copy the below stuff in there:

    "enexSource": "/absolute-path-of-your-enex-dir/test-template.enex",
    "outputDir": "/path-of-your-desired-output-folder",
    "isZettelkastenNeeded": false,
    "plainTextNotesOnly": false,
    "skipWebClips": false,
    "useHashTags": true,
    "outputFormat": "StandardMD",
    "urlEncodeFileNamesAndLinks": false,
    "skipEnexFileNameFromOutputPath": false,
    "haveEnexLevelResources": false,
    "monospaceIsCodeBlock": false,
    "keepMDCharactersOfENNotes": false,
    "nestedTags": {
      "separatorInEN": "_",
      "replaceSeparatorWith": "/",
      "replaceSpaceWith": "-"

Now, replace /absolute-path-of-your-enex-dir/test-template.enex with the absolute path of your .enex file and /path-of-your-desired-output-folder with the folder where you want the output .md files to be saved.

Most of the times, you will not need to change anything else; but if you have some specific requirements, you can look at the various available configurational properties.

Save the file, exit and move to the next step.

Step #4 – Run the script

This is the last step.

Open your command prompt in the same folder (or, Terminal in Linux or Mac) and run the following command:

npx -p [email protected] yarle --configFile ./config.json
Run the Command in Terminal

Please note that you should run the above command after navigating (use ‘cd’ to navigate) to the folder where the config.json file is.

Just wait for it to finish and you’re done.

All your notes should now be converted into .md format.

And, if you’re using Obsidian, just open that folder as a vault in the app, and boom… all your notes (attachments too) are there.

📢 Update:
Yarle now has desktop apps for Windows, Linux, Debian, and Mac which makes the whole process very easy. You can download the desktop app and follow the process here. And, for the desktop app to work, you don’t need the above config.json file adjustments.

That’s it.

If you get stuck somewhere in the process, just let me know in the comments below.