zk is a command-line tool helping you to maintain a plain text
Zettelkasten or
personal wiki.
Looking for a quick usage example?
Or want to see it in action? Checkout Shivan's video, Note-taking System ALL Programmers Should Consider.
Note: Links in the below list are outbound ↗
- Creating notes from templates
- Advanced search and filtering capabilities including tags, links and mentions
- Integration with your favorite editors:
- Any LSP-compatible editor
zk-nvimfor Neovim 0.8+zk-vscodefor Visual Studio Code
- 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
- Links: regular Markdown links,
See the changelog for the list of upcoming features waiting to be released.
- A note editor.
- A tool to serve your notes on the web – for this, you may be interested in Neuron or Gollum.
Check out the latest release for
pre-built binaries for macOS and Linux (zk was not tested on Windows).
brew install zkOr, if you want to the latest changes:
brew install --HEAD zk# Run zk from Nix store without installing it:
nix run nixpkgs#zk
# Or, to install it permanently:
nix-env -iA zkzk is currently available in the testing repositories:
apk add zkYou can install the zk package from the official repos.
sudo pacman -S zkMake sure you have a working Go 1.21+ installation, then clone the repository:
$ git clone https://github.com/zk-org/zk.git
$ cd zk$ make
$ ./zk -h
We warmly welcome issues, PRs and discussions.
Here you can read
some useful info for contributing to zk.
- Neuron – a great tool to publish a Zettelkasten on the web
- Emanote – an improved successor to Neuron
- sirupsen's zk – a collection of scripts with a similar purpose
- zk-spaced – spaced repetition plugin for zk