New Plugin for users coming from Evernote ! :)


I just created a plugin to allow users coming from Evernote to Joplin to be able to replace internal links in Evernote format to Joplin format (it's not done by default in the migration process when importing .enex files in Joplin).

It's working fine (I did it on my +1500 notes) and it's available here : GitHub - cysacenda/joplin-plugin-evernote-links-replacer

What can I do to make it available to everybody ?




That's great, thanks for sharing! To make it available to everybody simply publish it to npmjs as described here:


Thanks a lot, I've done the process, it's published on npm ! :slight_smile:


This is a great tool. The only problem is that I migrated my entire 7000 note Evernote universe to Joplin nine months ago. So I now have many Evernote cross links embedded in my Joplin notes.
Is there anyway that you can see to run a batch operation on my desktop Win 10 Joplin installation?

Looks like the plugin would work in this case? It will scan all your notes and automatically find and convert links that start with evernote::

Exactly, the plugin will :
-Find all links to Evernote in your notes
-Replace Evernote Links to Joplin Links (the note title have to be the same)

Already migrated links won't be impacted.

1 Like

If I'm understanding this correctly, if one has finished importing all enex files and subsequently closed, then opened Joplin (allowing this plugin to run), there is no need to continue to keep the plugin installed?

Exactly, all links of all notes will be replaced, it's one shot. Then you can drop the plugin :wink:


Thanks. This is a useful tool!

Without looking into the plugin too deeply, and going off memory as I looked into this link preservation issue a few years ago when I started moving notes to Joplin, I assume what your plugin is doing is looking at the note title text in the note link url and searching for a note with that title and creating the link (i.e., it assumes the target note's title has not changed since the link url was created in Evernote)?

Exactly, that's the only way to do the mapping. If you changed the title => it' won't match, the link won't be replaced. :wink:



Thank you for this plugin, if it works it will greatly help me, as I have lots of internal links in the notes that I have just imported.

How to Use
Install the plugin via Joplin's Plugin Manager. Once installed and activated, navigate to Tools > Replace Evernote Links. The plugin will go through all notes and make the necessary replacements.

I just installed the plugin and restarted Joplin, I had a message about Evernote links replacer... , but I can't find any 'Replace Evernote Links" option in Tools. Did I miss something?


When you say internal links am I correctly thinking that it is when you put a link in a note that redirects you to a different note?


The plugin just need to be activated as a plugin, then it will do it's job when restarting Joplin, you don't need to do anything.

The plugin will replace all internal links in Evernote internal link format to Joplin format. It will only work if the name of the link is the exactly the same as the title of the note it point.

Ex :
-Evernore Link : Title : My note 1 / Internal link

The plugin will be able to replace the internal link only of it can find a Joplin note with the same title "My note 1".

I hope it's clear. :wink:

1 Like



I left Joplin open overnight and this morning found a message from the plugin saying it had finished:


That's when I realized it had started out on its own after installing and restarting Joplin.
Not knowing he was working, I had to leave Joplin at one point and then I started him again. I hope this didn't disrupt the plugin's work.

Is this plugin page: Joplin Plugins - Joplin Evernote Links Replacer indicates that you have to go to Tools to start the work or am I the one who misunderstood?

In any case, a huge thank you!! I thought I was going to have to do everything manually, but now, even if I see that there are quite a few links not replaced, I will save a lot of time :slight_smile:

1 Like

I will second @nonobio as a long-time Evernote (Legacy) user moving to Joplin by thanking you @cysacenda for this time-saver plugin !
I'm in a testing process to throw my +16k notes into Joplin, so far results are promising.
I've come across a few notes that your plugin did not process, so I'd like to submit my result and ask if there is something I did wrong, should do differently, or if I fell into a blind spot of your plugin.

Methodology :

  1. In Evernote v6 I moved all my notes into one single notebook, and I also created a summary note containing the internal links to my +16k notes (I tried to anticipate internal link breaking in the best way I could think of, and help me track this in Joplin), exported to enex (I ended up with 16 enex files).
  2. In a fresh installed Joplin v2.14.20 I successfully imported (file > import > enex to md) those enex (61 hours), resulting in 16 notebooks containing all my +16k notes.
  3. I installed your plugin, then restarted Joplin and it ran automatically, quite successfully after 20min. It gave me those results (see below) : "links found : 37533 links replaced : 35789". So just a bunch of proken links left.


I tried to run a second time your plugin (restarting Joplin), this time without luck (see below) : "links found : 1744 links replaced : 0". So no change.


I started investigating looking at the first broken internal link inside my summarry note, and after a comparison with the note it should be pointing at, I could see any difference in the name (see below first screen is my note I look for, second screen is focusing on the evernote internal link note replaced in my summary note).

As I have untouched anything between the export-import, I'm asking here for help advice, if any.
Thank you for the time reading this and any help will be welcomed. And thank you again for this neat plugin !

1 Like


I've tried to update the Readme which is, I agree, a little confusing.

It's done on the Github repo, but I can't publish it on npm, don't know why (the version was updated to 1.0.1).

Trace :
npm notice Publishing to with tag latest and default access
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT - You cannot publish over the previously published versions: 1.0.0.

By the way this note linking is now integrated in the app so I think the plugin may no longer be needed

The plugin is running one shot as you said. It modifies notes, so when job is done you can remove it yes !

Wow! Me who found my 20 hours long :open_mouth:

However, I used the latest version of Joplin and after import, I quickly looked at some internal links and they were not converting. I then used the plugin and it told me that it had converted a large number of links :thinking:

1 Like


@laurent I'm unsure I understand what you mean.

To me this plugin is still relevant as Joplin didn't manage to replace Evernote internal links after I imported my enex files.
I indeed used the latest stable Joplin release to date (v2.14.20 published 2024/03/20, as v3.0.2 is tagged Pre-release).

I saw those fixed issues :

  • #9596 (Joplin v2.14.6 Pre-release)
  • 20b1c2e (v2.14.7 Pre-release)

So I thought everything would convert when importing. Unfortunately it wasn't the case for me, I had a few internal links correctly replaced (sorry I should have sum up the portion of converted links over all my notes before using @cysacenda plugin).
I think my screenshots speak for themselves : his plugin did a really good job and indeed converted most of my internal links.

So @Laurent I'm wondering why this plugin shouldn't be needed anymore, or is my current experience an isolated case ?

@nonobio yes 61 stressfull hours but Joplin did a great job (except for internal links remplacement as you read), as I mentioned here.

@cysacenda . I can deal with a bunch of broken internal links by hand. I'm simply asking if you have any idea what could have caused my links not being converted by your tool ?

To me your Readme is perfectly clear :slight_smile:.

In Evernote, I carefully checked one by one all my +16k note (took me a few hours) to ensure no one had an empty title. The very last operation I did before exporting to enex was the creation of my summary note (to anticipate checking as I previously explained).
After importing into Joplin, I filtered (with some css display) my summary note : 463 remain unconverted (fortunately it's only 3% of all my notes).
Maybe there's still something I didn't do right or forgot. Or is there any restriction using special charaters in the note title ? (ie. beginning with "[" or "*", etc)

Thank you for your time reading me guys, and thank you again for the (still) usefull (to me) plugin.