Syntax to link notes

The problem is: Zettlr is licensed under GPL3. That means that Joplin could never become a commercial product if its devs decided to go that route, certain libraries couldn’t be used if they aren’t under a GPL3 compatible license, and a variety of other headaches. Joplin’s MIT license is compatible with GPL3 but does allow for commercial usage, the source code could always be made proprietary, and anyone using Joplin’s source only must keep that license with their fork but do not have to contribute their changes to anyone.

I’m not too familiar about licenses, but I found this site and GPL3 and MIT more or less are the same in allowing commerical use?

I stand corrected on that front. The core difference still is how the source code is used and distributed and how bound any projects that use said source code is bound to being open source.

GPL3 is very strict with this notion and MIT is not, as long as the license is included with any usage of Joplin’s source code outside of its main repo.

Businesses have proprietary code (or code that only their business and clients that they trust have direct access to) that they want their competitors not to see because, frankly, that’s just dangerous business. And, if this ever became a fully monetized project or any non-free projects come about because of it, MIT really is a win for that.

1 Like

And also need a way to rename note titles. When you reference notes by id, there is no need to change the links when you rename a note. However, if the links are based on the note title, if you rename the note, you should also rename the references.

Or: you could continue using note ids for the syntax, but have autocomplete based on the Note titles.


Notebooks and notes both use IDs in the code, but the Notebook one in the code is sorely underused from what I could tell in my brief time working with that particular part of if.

1 Like

I think it is also important that the result is link in markdown code to not have a proprietary solution.

1 Like

As I now use Joplin also for my worklife there are some features I want to ask for.

So this time its about the joplin-internal markdown links: Very often I want to link different notes while I’m writing.

To make this easier I want to propose the following idea. Similar to the link toolbar button the user gets an interface to put in the name for the markdown link but instead of the link input field there would be a search field similar to the go to-function and so I can select a note to be behind the markdown link.


If you export to markdown, the links will be okay :+1:

Curious what @laurent position is on this proposal

1 Like

Really in favor of this. I love Zettlr as a platform, but the lack of android app (and some other small things, like nextcloud support) makes it hard to use as a true Zettelkasten


Have been using Zettlr now for some time and can say, that I love it, too.

The difference between Joplin as a notebook or a CMS has been discussed here on the forum. Many things make Z. a much more fluent and distraction-free an app for actual writing, at the current stage of development. The basic NC-sync is enough for quickly collecting new zettels on Android to be imported to Zettlr on desktop. Joplin, on the other hand, acts better as a personal notebook for non-strictly-for-writing-projects-confined bits and pieces.

However, I would like to see backlinks featuring also in Joplin (reckon Zettlr is going to implement bidirectional links, soon). Discussed also in here very recently.

1 Like

I’m not really a techie (at all), so a lot of this dev talk here goes over my head. But I spent a lot of time searching for a solution that does just this.

I’ve been using Joplin as a Zettle, and the work of manually keeping every note in mind and syncing them together defeats the purpose. I wish this bi-directional linking like in Zettlr or Roam would work.

Just throwing another vote of support for this idea!


curious to see if I can lure @laurent and/or @tessus in the conversation?

1 Like

We had this discussion a few times before. It’s also on my wishlist, but there are so many other things to tackle first.

My solution would look like this: when you typed [[ a popup next to the cursor would appear and you could search for a note (similar to the goto anything element - or actually we could even use the same code). Then the [[ would be replaced by the proper link [note title](:/hash).


I think that sums it up, except that I think a cross-reference or reverse-link should be added to the note that is referenced. The cross-reference ( in the similar [note title](:/hash) format ) would become prepended to the existing body, allowing for intuitive navigation

1 Like

I am against changing a note’s body. Also a not could be referenced from many notes. An extreme example, but do you want 100 lines at the beginning of the note, if that note is referenced from 100 other notes?
However, should backlinks ever be considered, there are a few options where to show them:

  • notes properties
  • status line (which does not yet exist)

Btw, you can use the Back button to go back to the previous note. (This won’t work of course, if you go directly to the note that has one ore more backlinks.


Otherwise there could be a setting that would allow adding a backlink to the body. But I remember that Laurent is not too keen when it comes to adding settings.

1 Like

I suppose it can be done without touching a note body. Something like this:

  • add a table to store notes’ links much like there’s a table for note-resource links already
  • when rendering a note add a section (for example at the bottom) “Notes linking here” and put a list of notes from the database.

Not sure how this can work with WYSIWYG and it won’t work with an external editor for sure.

Can be at the end or maybe made collapsable. Or floating like someone here on the forum made a floating TOC.

1 Like

That’s an interesting thought…

Possible the navigation / tags bar could host a (autocomplete ) dropdown menu, that list notes linked to the current one


My solution would look like this: when you typed [[ a popup next to the cursor would appear and you could search for a note (similar to the goto anything element - or actually we could even use the same code). Then the [[ would be replaced by the proper link [note title](:/hash) .

So uh, I’ve actually been working on this because I hate having to use my mouse to link to other notes. Short video showing this off. AceEditor and TinyMCE both have built in auto-complete. I have something working with AceEditor but boy was it a headache to get working since the feature/extension isn’t documented at all with Ace. I haven’t started with TinyMCE yet.

Edit: Here is a gist with the code to make it happen. I could PR this but I had to make some changes and pull react-ace’s version up to a more recent one and drop brace and switch for ace-builds, due to some changes they made in the project. The app loads fine but I have no idea if jumping ahead like 2 major versions on react-ace has broken anything. I literally just got this auto-complete working today.


Very cool! This could maybe even hook into the new search system that is being developed.

While we’re talking about linking notes, I have another thought. Would it be possible to update the link text/alt text if the title of the linked note is modified? Obviously this only works if no custom name to the link is given.

For larger projects, I often use separate notes for different sections and an “overview” note. Having to update the links manually is kind of a pain.