Zettlr
Your One-Stop Publication Workbench
Install / Use
/learn @Zettlr/ZettlrREADME

Zettlr brings simplicity back to your texts. Open-minded writing that adapts to your style. Fast information retrieval that finds what matters to you. Versatile exporting that enables you to adapt to whatever publication pipeline your employer or school uses.
Focus on what matters to you.
Publish, not perish.
Table of Contents
- Features
- Setup
- Getting Started
- Building from Source
- Contributing
- Command-Line Switches
- VSCode Extension Recommendations
- License
Features
- Your Notes are your notes: Zettlr is privacy-first
- Citations made easy: Tight and ever-growing integration with your favourite reference manager (Zotero, JabRef, and many others)
- Available in over a dozen languages
- Draft your publications in a professional environment, with LaTeX and Word template support
- Simple and beautiful exports with Pandoc, LaTeX, and Textbundle
- Snippets allow you to automate insertion of boilerplate code
- Themes, dark modes, and full flexibility with custom CSS
- Code highlighting for many languages
- Support for state of the art knowledge management techniques (Zettelkasten)
- A powerful full text search that helps you find anything, anywhere
… and the best is: Zettlr is Free and Open Source Software (FOSS)!
Setup
To install Zettlr, just download the latest release for your operating system. Currently supported are macOS, Windows, and most Linux distributions.
On our website and here on GitHub, we provide a set of installers for the most common use-cases. We provide both 64-bit installers as well as installers for ARM systems (called "Apple Silicon" in the macOS ecosystem). 32-bit is not supported. We offer the following binaries directly:
- macOS (Intel and Apple Silicon)
- Windows (x64)
- Debian/Ubuntu (x64 and ARM)
- Fedora/Red Hat (x64 and ARM)
- AppImage (x64 and ARM)
Thanks to our community, we can also offer you a variety of other setup opportunities via package managers:
All other platforms that Electron supports are supported as well, but you will need to build the app yourself for this to work.
Please also consider supporting the development with a donation. You can donate once, or monthly. Learn more on our website. Thank you!
Getting Started
After you have installed Zettlr, head over to our documentation to get to know Zettlr. Refer to the Quick Start Guide, if you prefer to use software heads-on.

Building from Source
You can compile the app for yourself, if you prefer. To do so, refer to our development guide below to ensure you have all required dependencies installed. Then, you can build the app for your computer using the command yarn package.
Contributing
As an Open Source application, Zettlr always welcomes contributions from the community. You do not need to know how to write code to help! A full overview over all the areas where you can help can be found in our contributing guide. Here, we introduce you to the two biggest areas where we welcome help: translations and contributing code.
Translating
The development team maintains the English and German translations, but lacks adequate knowledge of other languages. All the other available translations have been created by our community.
Zettlr's translations utilize the gettext system. This means that the translations are kept in PO-files within the static/lang directory.
To update a translation, simply download the corresponding language file and edit it. You can edit PO-files with a simple text editor, but if you prefer a more comfortable graphical editor, there are many out there. One good option is the Open Source editor POedit.
As soon as you are happy with your changes, open a Pull Request here that updates the corresponding file. GitHub has created a great guide on how to open Pull Requests.
Contributing Code
Zettlr is an Electron-based app, so to start developing, you'll need to have the following installed on your computer:
- NodeJS. Make sure it's at least Node 22 (
lts/jod). To test what version you have, runnode -v. - Yarn. This is the package manager for the project, as we do not commit
package-lock.json-files and many commands require yarn. You can install this globally usingnpm install -g yarnor Homebrew, if you are on macOS. - On Windows, we recommend to install the Windows Subsystem for Linux (WSL), which will make many of the next steps easier.
- A few command-line utilities that various scripts require for running the development builds:
- An appropriate build toolchain for your operating system, since Zettlr requires a few native C++-modules that must be compiled before running the app:
- macOS: On macOS, installing the XCode command-line tools via
xcode-select --installsuffices - Windows: On Windows, you'll need the free Visual Studio development tools that include the required tools
- Linux: On Linux, there are a variety of compatible toolchains available, sometimes they are already preinstalled. Refer to your distribution's manual for more information.
- macOS: On macOS, installing the XCode command-line tools via
Then, simply clone the repository and install the dependencies on your local computer:
$ git clone https://github.com/Zettlr/Zettlr.git
$ cd Zettlr
$ yarn install --immutable
The --immutable flag ensures that yarn will stick to the versions as listed in the yarn.lock and not attempt to update them.
During development, hot module reloading (HMR) is active so that you can edit the renderer's code easily and hit F5 after the changes have been compiled by electron-forge. You can keep the developer tools open to see when HMR has finished loading your changes.
What Should I Know To Contribute Code?
In order to provide code, you should have basic familiarity with the following topics and/or manuals (ordered by descending importance):
- JavaScript (especially asynchronous code) and TypeScript
- Node.js
- Electron
- [Vue.js 3.x](https://vu
