zk icon indicating copy to clipboard operation
zk copied to clipboard

A plain text note-taking assistant

zk

A plain text note-taking assistant

Screencast

Looking for a quick usage example? Let's get started.

Description

zk is a command-line tool helping you to maintain a plain text Zettelkasten or personal wiki.

Highlights

  • Creating notes from templates
  • Advanced search and filtering capabilities including tags, links and mentions
  • Integration with your favorite editors:
  • Interactive browser, powered by fzf
  • Git-style command aliases and named filters
  • Made with automation in mind
  • Notebook housekeeping
  • Future-proof, thanks to Markdown
  • Supports most Markdown syntax flavors
    • Links: regular Markdown links, [[Wikilinks]] and Neuron's [[Folgezettel links]]#.
    • Tags: #hashtags, :colon:separated:tags:, Bear's #multi-word tags#.
    • YAML frontmatter

See the changelog for the list of upcoming features waiting to be released.

What zk is not

  • A note editor.
  • A tool to serve your notes on the web – for this, you may be interested in Neuron or Gollum.

Install

Check out the latest release for pre-built binaries for macOS and Linux (zk was not tested on Windows).

Homebrew

brew install zk

Or, if you want to the latest changes:

brew install --HEAD zk

Nix

# Run zk from Nix store without installing it:
nix run nixpkgs#zk
# Or, to install it permanently:
nix-env -iA zk

Arch Linux

You can install the zk package from the official repos.

sudo pacman -S zk

Build from scratch

Make sure you have a working Go 1.18+ installation, then clone the repository:

$ git clone https://github.com/mickael-menu/zk.git
$ cd zk

On macOS

$ make
$ ./zk -h

On Linux

$ make
$ ./zk -h

Related projects

  • Neuron – a great tool to publish a Zettelkasten on the web
  • sirupsen's zk – a collection of scripts with a similar purpose