Homepage    |    GitHub    |    API    |    FAQ

What would make a good zettelkasten plugin?

There have been various requests related to the zettelkasten method, which I think is mainly about improving linking between notes. It would be useful to narrow down the list of features that would make a good zettelkasten plugin in case someone wants to develop it some day (or if we make it part of a future GSoC). So far I can think of this:

  • Display the last modification date of a linked note next to the link.
  • Strikethrough linked notes that have been completed.
  • Update link title when the linked note title changes.
  • Make it easier to link to a note - for example use Goto Anything to find the note, and insert the link from it.

Any other ideas of what could be added?


I use Joplin partly for a zettelkasten-system. Existing plugins like quick-link, backlink or the visual graph plugin already help a lot. The link-features you mentioned sound very helpfull too.

On the other hand at the moment it is more of a problem to realize the static-linear side of my zettelkasten than to build its hypertext, as the schemes for sorting are only date, title and the basic individual order, which could be upgraded in some way for example. For my use cases the potential of a zettelkasten unfolds, when it can "oscillate" between a linear and a hypertext structure. That's crucial for classic, famous examples like the zettelkasten by Niklas Luhmann too. At the moment I work with leading numbers/letters before the note-title to get a safe subject related and/or hierarchical order. Therefore nice zettelkasten-features would be:

  • ability to arrange notes in a specific, visible order
  • automatically insert and update links between neighbour-notes (front & follow-up), then linear subject strands would be connected to the hypertext (visible in the link graph for example)
  • would be great, if I could define for every notebook if it lists notes by date, title or individual order
  • ability to highlight important notes, as it would help to maintain the zettelkasten and makes sorting easier

Personally, I find Luhmann's indexing method to be deeply tied to the physical nature of the index cards he used — a form of clustering information together to aid browsing. I would have my doubts about trying to impose any global order on the notes through their IDs. The moment our notes cease to be tree-like in structure and become a graph (possibly containing cycles), we can no longer have any top-down structure.

However, along the same lines of discussion, there is an ordering in the way we visit notes, creating one (or many) linear narratives throughout. I think this could be very valuable in a Zettelkasten system.

With large pools of notes, it becomes unmanageable to pinpoint the information we're seeking. So we rely instead on forms of fuzzy search to get us within the vicinity: keywords, tags, master pages, or search grammars. However, even this is can sometimes not be enough — I will often find myself relying on note links when I'm not even sure about what I am looking for, that "I know something about X" feeling. Or for mind-wandering. Or when I'm looking for a particular angle.

In the book "How To Take Smart Notes", Sönke Ahren quotes Luhmann "conversing" and being "surprised by" his slip-box. I find this description spot-on: we converse with ourselves by linking thoughts through semantic relationships. This build context around the information and makes the initial entry point less crucial. Sometimes the value is not in the final note but the traversal: how did you get to this piece of information, what it relates to, and what sparked the relationship.

This process feels to me very much like keeping a few stacks of notes, moving up and down as thinking unfolds. On top of Joplin's search functionality, the ability to jump hyperlink backwards and forwards helps somewhat. So does the Graph UI for a bird's-eye view. But I find myself often relying on the Note Tabs plugin to "anchor" thoughts as I move through them, to avoid losing some of that context.

This concept of stacking is executed beautifully in Andy Matuschak working notes. The layout used makes the traversal explicit by piling up notes horizontally as we click links, providing a visual representation of the process of "I was thinking about this, then this, then this...". The preview of links is also a nice complement to "look ahead" without clicking.

I would vouch for some plugin that would allow a similar track record of the notes visited. Some mechanism that would trigger after performing a search and keep records as we click through links, perhaps "branching off" on-demand by using "alt+click", middle-button click, or any other well-established convention. Apologies for the long-winded post, but I thought that the Why might be more valuable than the Hows for this discussion.

I suppose this idea could take many forms in the hands of a great developer/designer: visual stacking like the example above or something as simple as an extension of the idea of "browsing history" in our internet browsers. Code management systems like git solve similar problems in presenting the information, though this is perhaps too much of a conceptual jump.



Thank you for this interesting post. I have tried a lot of things in this area and I think stacking is interesting but not enough. I think that if some people like Obsidian for the Zettelkasten it is because of the power of exploration of the graph produced from the links between the notes. The great strength of this graph is that you can integrate the "tags". You can see in the same graph the notes connected according to their content (classic link) and the notes attached to the same "tag". With Joplin, the "backlink" plugin allows to see the links between notes and the search by "tag" notes by tags but not both in the same view.

For the exploration of a path of thought, I quite agree that a path history in the notes would be interesting. One could imagine it in a graphical form with a visualization of the branches... and then it would remind something.


Another serious question that seems to be asked by all Zettelkasten type projects (org-roam, Zettlr, Obsidian, logseq, etc) is the type of link. Normally, the idea of a Zettelkasten is to connect so-called "atomic" notes, i.e. short ones. But it is not uncommon, when you start working with this tool, to want to write longer documents. Then comes the question of linking to a specific part of a document and not only to the document itself. In this case, is it to a block? a title? If so, should each title/block have an ID? etc. I think that in Joplin, many people have a more complex document architecture than atomic notes: web articles retrieved with the browser extension; annex documents retrieved with hotfolder; eventually bibliographic records and references (plugin project); etc...


This is a great point, which I completely share. Often it would be great to insert deep links into a particular section of a note. The workaround for me has been to try creating smaller (atomic) notes, but this sometimes has the downside of introducing a lot of fragmentation in the information.

Notion seems to implement this concept of "blocks" quite extensively, but it comes at the cost (IMHO) that notes become cumbersome aggregates of blocks, hard to manage and export as Markdown. I suppose another complication of deep-links, similar to back-links, would be how to keep them updated if the content of the pointed block changed.

1 Like

Something like Embed any search - with content! seems appropriate to strike a balance between atomicity and longer documents.

1 Like

One of the features I'm missing, that might also play along nicely here, is a new kind of view mode that would take all the currently filtered notes (i.e. the contents of the current notebook, or search results) and display them in one big, scrollable chunk. So if I have 5 shorter notes on the same topic, I could visually jump all over them, and not have to click through the menu and lose track.
(Or if there already is a way of achieving this, do point me in the right direction plox. :sweat_smile:)

IMHO, out of your list, this (i.e. quick linking) is the only relevant one. Additionally support for back-links is required (e.g. a pane view of all notes linking to the current one). Afaik, quick-linking and back-linking are the essential parts of zettelkasten, maybe add a graph view (Obsidian) for visualization.



This is already possible with the quick links plugin.

This is already possible with the Backlinks plugin although it would be nice to improve the type of contextual information displayed.

1 Like