Loam is free and open source for macOS. Your notes stay plain Markdown files on your disk. Download for macOS.[Download for macOS.]
← Blog
Last updated Nov 3, 2026

Zettelkasten in Markdown: how to start with plain files

Learn the Zettelkasten method with plain Markdown files: atomic notes, links and backlinks, a note template, a worked example and the mistakes to avoid.

By Loam teamProduct

The Zettelkasten method is a way to keep notes so that each one holds a single idea and links to the notes around it. You can run it with plain Markdown files: one file per note, standard Markdown links between them, and backlinks that show what points at a note. This guide shows how to start in Loam, our free, open source Mac app, with a template and three linked example notes.

What is the Zettelkasten method?

Zettelkasten is German for slip box. Niklas Luhmann, a German sociologist, built a large slip box of paper cards for his research from the early 1950s, and he credited it with his very prolific writing. Each card held a short piece of information, the cards were linked to one another, and each had a unique number so that new cards could fit into the structure.

People practice a modern reading of that system. Filing notes by topic works until the folders grow. The Zettelkasten asks you to write each idea in your own words, then connect it to the notes it relates to. Over time the links form a network, and the network gives you somewhere to start when you write.

Sources: Zettelkasten, on Wikipedia ↗

What are atomic, fleeting and permanent notes?

An atomic note holds one idea, written so that you understand it a year later without its source. Later writers describe the work in three kinds of notes. The table shows each one, and where it can live in a vault.

Note typeWhat it holdsFolder in the vaultWhat to do with it
FleetingA quick thought or a capture, not yet processedFleeting/, or today's daily noteTurn it into a permanent note, or let it go
LiteratureWhat a source says, in your own words, with the referenceLiterature/Keep it, and link it to the ideas it feeds
PermanentOne idea, in your own words, linked to other notesPermanent/Keep it, link it and reuse it

A common modern vocabulary for the method.

In practice a note moves along a path. You capture a thought, rewrite it as a permanent note, connect it to others, and find it again when you need it. That path is the same loop as a second brain in Markdown: capture, organize, link, retrieve.

How do you set up a Zettelkasten in Markdown?

Create one folder with three subfolders, and write one file per note. Open that folder as a vault in Loam, as described in Your first vault.

Zettelkasten/
├── Fleeting/
├── Literature/
└── Permanent/
    ├── 202611031420-one-idea-per-note.md
    ├── 202611031435-notes-gain-value-from-links.md
    └── 202611031450-backlinks-show-where-an-idea-is-used.md
  • Name files with an id and a short title, such as 202611031420-one-idea-per-note.md. The id is the date and time, so names stay unique and sorted. It is optional, because Loam links by path and a plain title works too.
  • Avoid spaces in names if you write links by hand. It keeps each link easy to type.
  • Rename without fear. notes.rename moves a note and rewrites the links that point to it, so a better title later does not break the box.

What should a Zettelkasten note look like?

A good note has a title that states its claim, a few sentences in your own words, and a short list of links. Here is a template to copy:

---
type: permanent
created: 2026-11-03
tags: [zettelkasten]
source: Author, Title
---

# One claim, written as a sentence

The idea in a few sentences, in your own words.

## Links

- [Related note](other-note.md): why it relates

## Source

Where the idea came from.

The title as a claim forces you to know what the note says. The ## Links section forces you to connect it. The properties between the --- lines let a collection list your notes later. Loam reads a template for daily notes from .loam/templates/daily.md. For permanent notes, keep this text in a note called Template.md and copy it into each new note.

A worked example with three linked notes

Here are three permanent notes about the method itself. Each holds one idea. A link is relative to the note that holds it, and the three notes sit in the same folder, so each link is only a file name. The first note, Permanent/202611031420-one-idea-per-note.md:

---
type: permanent
created: 2026-11-03
tags: [zettelkasten]
---

# A note should hold one idea

When a note holds one idea, I can link to it from many places and understand it on its own. A note that holds five ideas can only be linked to as a whole.

## Links

- [A note gains value from its links](202611031435-notes-gain-value-from-links.md)

The second note, Permanent/202611031435-notes-gain-value-from-links.md, points back to the first and forward to the third:

---
type: permanent
created: 2026-11-03
tags: [zettelkasten]
---

# A note gains value from its links

A note on its own is a fact I may forget. A note linked to three other notes is a path I can walk when I need it.

## Links

- [A note should hold one idea](202611031420-one-idea-per-note.md): the unit that gets linked
- [Backlinks show where an idea is used](202611031450-backlinks-show-where-an-idea-is-used.md): the other end of every link

The third note, Permanent/202611031450-backlinks-show-where-an-idea-is-used.md:

---
type: permanent
created: 2026-11-03
tags: [zettelkasten]
---

# Backlinks show where an idea is used

A link shows me what a note points to. A backlink shows me which notes point to it, so I find uses of an idea that I forgot I had written.

## Links

- [A note gains value from its links](202611031435-notes-gain-value-from-links.md)

Now ask for the backlinks of the second note. The command prints the paths of the notes that link to it, which here are the first and the third:

loam --vault ~/Notes notes.backlinks path=Permanent/202611031435-notes-gain-value-from-links.md

Backlinks show which notes point at the open note, and search finds the rest. In the app, the Links tab of the right sidebar lists backlinks with the line where each one links. It also lists unlinked mentions: notes that contain the title of the open note without linking to it. Each one is a candidate for a new link.

  • search.names q=links finds notes whose file name matches, with fuzzy matching. search.content q=links finds lines of text, with the line number. Neither needs anything installed.
  • search.meaning q="why links matter" finds notes by what they say, in any language. It needs Truffle, a separate tool that you install with brew install azilone/tap/truffle.
  • query.run tag=zettelkasten lists the notes with a tag. A tag can be #zettelkasten in the text or an entry in the tags: property.
  • collection.create folder=Permanent turns the folder into a collection, a table of your notes with their properties. Obsidian reads the .base file too.

For a topic with many notes, write an index note that links to the best of them, in the order you would explain the topic. A board does the same on a whiteboard: add notes as cards, join them with arrows, and keep the notes themselves untouched. See Links, backlinks and search, Collections and Boards.

Why do plain files suit a Zettelkasten?

A Zettelkasten is meant to grow for years, so the notes must outlast the tool. A folder of Markdown files opens in any editor, on any system, with no account. You can back it up by copying the folder, keep its history in Git, and open it in another app if you change your mind. Why Markdown is still the right format covers the reasons in detail.

If you already keep your notes in Obsidian, the same method works there, and Loam opens an Obsidian vault as it is. One difference matters for a Zettelkasten: Obsidian writes wikilinks such as [[Note]], and Loam tracks standard Markdown links. Loam's importer converts wikilinks to standard links in a copy of your notes, after a dry run that shows what changes. See Loam vs Obsidian.

An AI agent can help with the search side of the work. Through the loam command line it can run search.content and notes.backlinks and suggest notes that could link to each other. Write the permanent notes yourself, because the thinking happens while you put an idea in your own words. See how to use Claude Code with your notes.

What are the common Zettelkasten mistakes?

  • Collecting instead of connecting. Saving quotes and articles feels like progress. A note counts when it links to another note. Add at least one link before you close it.
  • Copying instead of rewriting. A pasted passage skips the thinking. Write the idea in your own words, and keep the quote in a literature note.
  • Putting several ideas in one note. Split it. One idea per file is what makes a note easy to link.
  • Building the system before the notes. Ids, folders and templates can wait. Start with three folders, one template and ten notes.
  • Sorting by topic folders. Let the links carry the structure, and keep folders for the type of note.
  • Using wikilinks in Loam. [[Plan]] is styled in the editor, but it does not count for backlinks, the graph or renames. Write [Plan](Plan.md) instead.

What are the limits of this setup in Loam?

  • Loam runs on macOS 26 or later, on Apple silicon, and has no iPhone or Android app, so fleeting notes taken on a phone need another tool.
  • It has no web clipper, so literature notes are written or pasted by hand.
  • It is single user. You can share a vault through Git.
  • Its plugin catalog is younger and smaller than Obsidian's.

Sources: Loam docs: Links, backlinks and search ↗ · Loam docs: Write and organize notes ↗

Try Loam

Loam is free and open source. Install it with one command, open a new folder as a vault, and write your first three notes with the template above. You can see how it compares with Obsidian on Loam vs Obsidian, or browse every comparison.