MarginNote and Zettelkasten

@Lanco_Support-Team, @bart, @Nils

I’m creating this new topic for exploring how MarginNote might be extended to directly support the Zettelkasten method. There has been some good discussion in “Suggestions for hashtag improvements!” and “Academic use - workflow / hints, please?”.

@Lanco_Support-Team has kindly offered to discuss this idea here in the forum.

My question, basically, is what would support for Zettelkasten inside MarginNote — i.e., no other apps required — look like? What features would be required?

Let’s discuss!

1 Like


This is very interesting. At its most basic, there would need to be the ability to create notes that aren’t associated with any location in a text or any one text. This collection of noted should be easily searchable. It should then be easy to make hyperlinks between notes. How that is done is not necessarily important to be able to call it a Zettlekasten. Each software does it its own way. I don’t think that all software should be all things to all people so being able to do this kind of thing wouldn’t influence my use of MN. It excels at making margin notes. That’s enough for me, but I only speak for myself.

Have fun!

1 Like

Thanks for getting us started. Expanding on what @bart says, there would need to be a way to create notes that aren’t associated with any particular text in the MarginNote collection of documents and mind maps. This might mean a new “area” in the MarginNote UI, in addition to Document, Study, and Review.

This collection of notes needs to be searchable, and given the nature of the Zettelkasten, a multiple-term search is probably desirable.

Next, it should be “easy to make hyperlinks between notes”. This will depend upon how note IDs are represented, since we’ll need a way to choose the target ID for a link.

In the Zettelkasten method, an ID is a short string like 21/3d7 . Branches are represented by simply adding more character, e.g., … 21/3d7c , while sequences are represented by incrementing the alphanumeric characters in the ID, e.g.: 21/3d8. There could be short-cut commands for adding a card to a branch or a sequence.

Here, we encounter a first MarginNote implementation issue. How to represent these IDs? Internally, MN uses IDs that look like 39516C19-09D5-4359-BBE9-290CF981BBCC. These are unique — which is necessary! —, but obviously too long for us users to type in. Also, they cannot be used to represent branches or sequences. Thus, the database table probably needs a separate column for the Zettelkasten note IDs, and this column must also have a UNIQUE constraint.

By sorting the ZettelKasten IDs alphabetically, we get a list. The items in the list may be indented, to show the branches. How this would map onto the graphical 2D presentation of notes in the MarginNote mind maps is (to me) an open question. Maybe there could be a way to view both?

What else?

Following @Nilssuggestion, I looked over Lüdecke’s presentation on Luhmann’s Zettelkasten method.

Lüdecke summarizes Luhmann’s approach to organizing notes as:

  • No categories
  • Linkage / reference
  • Tagging and register
  • Arbitrary “branching” of note sequences

Unique note numbers (IDs) allow selective or specific links / references between notes. (These can perhaps be implemented using SQL primary/foreign keys.)

“Tagging and Register” means there is a “register” (kind of an index) that is separate from the notes, containing core keywords that reference tagged notes. The purpose of the register “was to find an ‘entrance’ (starting point) into the Zettelkasten”. However, “tags don’t have the primary purpose to create links between notes” (more about this in a moment).

To follow Luhmann’s method, then, there might need to be either an area or mode of the MarginNote UI that allows a presentation of the register. In an app like MarginNote that uses a SQL database, the “register” could be generated dynamically by performing a SQL SELECT for all tagged rows, and then presenting a sorted set of the tags, with each unique tag followed by a list of IDs hyperlinked to notecards.

Lüdecke emphasizes that branches of notes can be “concatenated”, resulting in “note sequences”. In MarginNote, this could be implemented by providing a way to browse specific branches of notes, in effect creating a sequence. Branching and note sequences allow “story telling”.

I also found @bart’s recommendation of Beck Tench’s videos to be helpful. Her idea of having separate note branches for collecting theories, methods, arguments, instruments, gaps, findings, etc. looks useful.


1 Like


@Lanco_Support-Team, could you kindly tell us whether you intend to support this kind of functionality, or not?

Wow, fantastic.
It’s really a good idea. I think the key of this feature is to make these mindmap card shorter IDs, which offers users with a convenient way to link all of the cards.
I haven’t used this study method yet, so there may be some misunderstandings. Let me elaborate my thoughts of Zettelkasten and please figure out my misunderstandings.
First, if users just want to make links among all cards in MN3, MN3 has already provided users with one efficient way(splitting window).
Second, it may be difficult to create a new area.

Third, I hold a view that one better way is to collaborate with other excellent softwares(like Tinderbox), which means MN3 should introduce more export formats.


Now we are developing two tag syetem, one is for simple exam usage whose main function is sub tag. The other one is for academic use which use Amboss for reference.

It will lag behind Automation&Exts, new sync tech.

We will see what sparks will the new hashtags system involved with Automation&Exts. And could it help to achieve ZTK.


What do you think about this apporach: ?

web of thoughts… sounds quite promising…


Hi mobo,

We have build a version(3.6.12) for Zettelkasten.

We will produce an explanatory article as soon as possible.

Best regards

Thanks, @Lanco_Support-Team. Looking forward to your article about this. :slight_smile:

What I understood is that we can click any words and we will have the related info from AMBOSS in a small box

Did you implement this feature ?? cause I still use the research method for AMBOSS as in the video