This post is a part of The Zettelkasten Manual.

This article assumes the reader knows about Luhmann’s Zettelkasten, for those who don’t, read this first.

Here’s my digital approach to Luhmann’s paper-based filing system in a modern(hopefully better) way, it tries to keep the benefits of the original approach like productivity gain and a solid accumulation of knowledge, the changes happen in the following three levels.

  • Physical level
  • Logical level
  • Slip level

It is recommended to get to know Luhmann’s slip box before reading the content below.

Physical level

Paper Digital Purpose
Hand-written Paper Slips Plain text files To last a lifetime
Wooden Box A folder encapsulating the above files To last a lifetime, to store the slips and make it easy to find them for a human

Why plain text

Plain text files could be read and write by a wild range of applications after decades, while specifications of many other formats may changed a lot that your precious files created by an older version of the application are unable to be opened by the new version, or even worse, the application or format just cease to exist.

Folder form

A folder could be in any form, as long as it serves the purpose - To store the slips and make it easy to find them for a human. A simple folder on the file system is fine, if you are using DEVONthink 1 like me, a folder in it (which does not result in a single folder on the file system) works too.

Logical level

Aspect Paper Digital Purpose
Numbering System At the top-left of slips e.g. 1/1b2c The file name and prefix of the title of plaintext files e.g. An unique ID for every slip, and visual aid for human
References among Slips ID of the slip to be referenced written on other slips Markdown links of the slip to be referenced in other slips The key to keep relationships between slips

Numbering system

Unlike other digital approaches 2 3 that use a timestamp to name the slip, I choose to keep Luhmann’s way of numbering for two reasons:

  1. The timestamp is too long for a person to remember, thus failed to serve the purpose of a visual aid, which I regarded as a crucial help for one to make links manually.
    • However, the creation time of the slip could still be kept in the file.
  2. The sequence level of slips are obvious on the list of files in a folder sorted by name
    • So one can navigate easily between adjacent sequence levels, which is likely to be very close to the paper-based workflow done by Luhmann where slips stored together are close in sequence.

There are two tiny changes to Luhmann’s approach:

  1. Use . instead of /
    • The character / is not allowed in a file name for most file systems
  2. Use instead of for the first slip of every top-level subject
    • In this way, a normal sort by name could make the first slip( ordered before all other slips(e.g. 1.1, 1.2a, 1.3b) instead of after


The following markup works with DEVONthink1, for those who don’t use it, just make sure the application (e.g. a markdown editor) of your choice is capable to jump between files and use the supported markup to create a reference.

References should be written in explicit form:

This is a link to a slip [[1.0]]

This is a link to a slip [1.0](1.0)

Implicit form like below doesn’t provide a visual aid for the ID of slips:

This link doesn't tell the ID of [the slip](1.0) to be referenced

This link doesn't tell the ID of [the slip](1.0) to be referenced

Slip level

A slip is a simple Markdown file, here is an example of

Date: 2019-12-31 11:07:38

# 1.0 This is the title of the slip

The content of the slip goes here.

This is an example of a reference to another slip [[1.10a]]

This is an example of citation [1]


1. Here sits the bibliography

Beside the ordinary slips, there are three special kinds of slips in Luhmann’s collection.

Kind Paper Digital
Contents A slip contains a list of references to top-level subjects A single file contains links to top-level slips
Index A slip contains major subjects with references to related slips A single file contains links of different subjects to related slips
Bibliography A slip contains bibliographic information of literatures sorted alphabetically bibliographic information embedded at the bottom of every file

Auto generation

Contents could be automatically generated by scanning the entire slip box folder, but Index is mean to be created manually.


Bibliographic information is rather tedious for a human to write multiple times on paper, but it’s not a problem in the digital world with the help of applications like Zotero.

By embedding it in every single slip, the slip becomes more self-contained.


  • The selective links between cards made it possible to retrieve more than what was intended when the notes were initially taken 4
    • That’s why the slip box can “communicate” with human, for:
      1. One of the basic presuppositions of communication is that the partners can mutually suprise each other 5
      2. We have been educated to expect something useful from our activities 6
  • Without writing, there is no sophisticated thinking, since both short and long term memory of human brain are limited 5
  • The system reflects not only validated knowledge but also the thought process(via the linking), including potential mistakes and blind alleys that were later revised but NOT removed from the files, instead, a new card with revision may be added if needed 4

For a deeper understanding of Zettelkasten, check out The Zettelkasten Manual.

  1. DEVONthink. DEVONtechnologies, LLC,

  2. Schallner, Rene. Renerocksai/Sublime_zk. 2017. 2019. GitHub,

  3. Tietze, Christian. The Archive (MacOS) • Zettelkasten Method. Accessed 31 Dec. 2019.

  4. Schmidt, Johannes F. K. “Niklas Luhmann’s Card Index: The Fabrication of Serendipity.” Sociologica, vol. Vol 12, July 2018, pp. 53-60 Pages. (Datacite), doi:10.6092/ISSN.1971-8853/8350.

  5. Niklas, Luhmann. Communicating with Slip Boxes by Niklas Luhmann. Accessed 27 Dec. 2019.

  6. Luhmann, Niklas. Learning How to Read by Niklas Luhmann. Accessed 27 Dec. 2019.