Home / GitHub Page

Syntax to link notes

This is an interesting question, and yes, I think that backlinks are important.
Apps like NVAlt, Roam Research and Zettler use a double block to crosslink notes, perhaps hints at a consensus of the syntax.

Think of it as syntax for the copy markdown link feature, when right-clicking a note.

I think this is a pretty key feature that would allow to work towards a form of The Zettelkasten Method, which surfaced on hacker news this week.

Short intro,
thorough, indepth technical article


Thanks for sharing this. I have never heard of that method, but it sounds quite a bit like a cross between KISS (Keep It Simple Stupid) and Mind Mapping. You don’t write a bunch of disjointed ideas (like you might in a journal) but instead, you write specific concepts and focus only on that one specific one per entry and then link them together by how they correlate. Is that about right?

EDIT: I also discovered that there is a way to link entries like you requested on both mobile and desktop. It’s an option called “Copy Markdown Link.” It seems to not be as smooth as other services may handle backlinks, but does work for interconnecting specific notes. Does seem to require going to each specific note and Copying a Markdown Link for it.

That’s essentially what I’m proposing.
The double block syntax would allow you to find or create files on the fly ( akin to NVAlt ), and create a cross-reference in the parent note ( a link to the child no(d/t)e ) and a link in the child note, establishing a bi-directional link.

Under the hood, Joplin utilizes a sqlite database, and in that spirit, creating links across notes is so key IMO that it warrants a specific syntax.

Exactly, so the syntax suggested above [[title-of-the-note]] creates cross links swiftly, and allowing you to navigate across notes fluently. Oufff that came out a little evangelical ✞ :innocent:


Honestly, on the syntax part, that sounds like it would need some kind of completion engine to be fully functional; either that, or the user would have to have a solid memory of each specific title so that they could link them properly. I would rage if I accidentally used the wrong title or, at least in the case of mobile, my keyboard or OS would autocorrect my title to something drastically different than what it was supposed to be.

Either way, this idea is pretty cool, although, for my personal uses at the current moment, it wouldn’t be that useful yet.


Ooops, yes absolutely…

I just discovered something pretty interesting, though. On the Desktop version, you can just drag and drop Markdown Links with ease. Just click on the note and drag it to your current one and you are good to go. It’s a little faster than Copy Markdown Link but isn’t available on mobile.

The only major caveat I’m noticing: the notes must be in the same Notebook / Sub Notebook for this to work. I wonder if there could be a way to set the Notebook Pane to where you can navigate it without it closing your current Note so you can easily link notes like that without having to have all notes in the same notebook


Nice, wasn’t aware of that…

True; along with the linking syntax, suggested in the original post, you’d also want to be able to navigate back and forth from notes ( traversing the stack of visite notes ), perhaps via cmd + [ / cmd + ]. Being able to loop through and visited cross-referenced notes ( cmd + j / cmd + k to highlight, hit enter to visit ? ) in a note would be neat.


Don’t feel bad. I’m figuring all of this out by the seat of my pants. :laughing:

Most definitely. There is a back button that does allow you to switch between child and parent. I’m not sure how far down you can go with it, nor the key combos to go back and forth, but it’s something.

Yes, its a blessing :sparkles:

Exactly, and the fact that it is limited to just backward navigation. What’s pretty nice in chrome browsers is that the navigational stack history is available.

So regarding traversing the navigational stack, imagine a widget popping up, not all that different from Goto Anything that lets you traverse the navigation history:

previous, previous note
previous note
current note, highlighted
next note
next, next note

And just use your up and down keys to traverse through the list

1 Like

Most definitely.

One more idea wrt the proposed syntax:

[[title-of-the-note inline]]

Would present the usual link the to referenced notebook and render the referenced note inlined in the current note

Keep It Succinct Stupid :wink:

1 Like

I couldn’t wrap my head around getting the Joplin-Web app working or building properly (on Arch based distros, pip is definitely not your friend; if there isn’t a package available for a python module, manually installing can and does brrak so many things). If you could get it working properly, i wonder if the browser’s back and forth features could solve some of the app’s current shortcomings.


@bedwardly-down is the above perhaps meant for another topic?

Not at all. I was suggesting a possible alternative method of using Joplin that may be able to simulate what you’re looking for. I would test it out but my Linux distribution doesn’t play nice with the python modules that are required to run and build the web app version of Joplin.

1 Like

Ah fair enough, yes I’ve seen a post wrt jolin-web that creates cross reference links. Understood, thanks!

1 Like

It would still be nice to have that functionality built in to the main app (since it would then trickle down to the mobile apps), but it’s still a start. :slight_smile:

1 Like

I really want this feature in joplin! I see that zettlr is also an electron app, would it be possible to integrate zettlr in joplin? I love joplin because it can sync across all devices, and zettlr for its linking notes feature. merging the two would be amazing!

1 Like

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