Zettlr, Joplin, Anytype and AppFlowy compared

Last updated: ยท Reviewed quarterly

These four get grouped together as alternatives to the popular note apps, which hides the fact that they are not competing for the same job. Zettlr is for notes that become papers. Joplin is for notes that must be encrypted and portable. Anytype is an object graph with its own encrypted store. AppFlowy is an open Notion for teams. Pick by the job, not the feature list.

Why these four and not the usual three

Most comparisons of personal knowledge tools stop at Obsidian, Logseq and SiYuan, which is a reasonable place to stop for a general-purpose note vault; those three are covered in Obsidian vs Logseq vs SiYuan. Three common requirements fall outside what they do well, and each has an obvious answer among the four tools here.

The first is citations. If a note eventually appears in a manuscript with a bibliography attached, you need a reference manager wired into the editor and an export path that produces a real document. Obsidian can be made to do this with plugins; Zettlr does it out of the box.

The second is encryption and sync you control. A vault of plain Markdown is only as private as the folder it sits in, and syncing that folder through a general-purpose cloud drive means the provider holds readable files. Joplin encrypts before anything leaves the device.

The third is structured data: databases, boards, relations between records, several people in one space. That is Notion's territory, and Anytype and AppFlowy are the two serious local-first attempts at it, from opposite directions.

All four are free to run and keep data on your own machine. They differ sharply in what that data physically is, which is the decision that matters most in the long run.

Zettlr: for notes that become a paper

Zettlr is a Markdown editor written for academic and long-form writing. It opens a directory of Markdown files, adds Zettelkasten-style identifiers, internal links and backlinks on top of them, and leaves the files as plain text with YAML frontmatter. Nothing about the storage is unusual, which is the point: the interesting part sits around the editor.

Citations are first class. You point Zettlr at a bibliography exported from Zotero (or any BibTeX or CSL JSON library), and typing a citation key then autocompletes against your library and renders the reference in the preview. Formatting follows a CSL style, so switching a manuscript from APA to Chicago is a change of style file rather than a pass through the document.

Export goes through Pandoc. Zettlr does not implement its own document conversion; it drives Pandoc, so the output formats are Pandoc's: LaTeX, PDF (via a TeX installation), Word, HTML, ODT, EPUB, revealjs slides. A supervisor who wants a .docx and a journal that wants LaTeX are served from the same source file. The tradeoff is that a full PDF export expects Pandoc and a TeX distribution installed, a real setup step on a fresh machine.

What it is not. Zettlr is desktop only, with no official mobile app, and it is a writing tool rather than a life-management system: no databases, no boards, no task engine. If your notes are also your calendar and your project tracker, this is the wrong shape. If they end up as a chapter or a paper, it is the one to try first, and because the files are ordinary Markdown you can keep another editor open on the same folder.

Joplin: for encryption and portability

Joplin is one of the oldest actively maintained open-source note applications, and it shows in the least glamorous way possible: it is unusually complete. Desktop apps for Windows, macOS and Linux, mobile apps for Android and iOS, a terminal client, a plugin API, and a web clipper for Firefox and Chrome that saves a page, a selection or a simplified reader version straight into a notebook.

Encryption is the headline feature. Joplin's end-to-end encryption is opt-in and, once enabled, applies to everything before it is synchronised, so the sync target holds ciphertext. That design is what lets the second feature work.

Sync is deliberately backend-agnostic. Rather than requiring a service of its own, Joplin synchronises through Joplin Cloud (the project's own hosted option, which funds development), Nextcloud, Dropbox, OneDrive, WebDAV, S3-compatible storage, or a plain directory you replicate however you like. If your employer already gives you one of those, you have a sync solution, and the provider stores an opaque blob rather than your notes.

The storage nuance worth knowing. Note content is Markdown, but the working store is a local SQLite database rather than a folder of .md files, so grep over a notes directory does not work the way it does with a Markdown vault. Joplin answers this with export (Markdown files, a directory dump, the JEX archive format, PDF and HTML) and with a file-system sync target that does write files out, but if greppable text is a hard requirement, know this before you commit. The same point comes up throughout PKM for developers, where scripting over the notes is often the whole reason for the setup.

What it is not. Joplin is a notebook, not a thinking tool. Notebooks, tags, to-dos and search are all there, and linking exists but is not the centre of gravity: no graph-first workflow, no block references, no daily-note engine unless a plugin supplies one. Pick it when security and portability matter more than the density of connections between notes.

Anytype: an object graph, not a folder of files

Anytype is the most conceptually different of the four. It does not think in documents. Everything is an object: a note, a task, a person, a book, a bookmark, a meeting. Each object has a type, and types have relations, typed fields that point at other objects. A book has an author relation pointing at a person, and that person shows every book, note and meeting referencing them. Sets and collections query across the graph the way a Notion database view does, except the query runs against your local store. Editing is block based, and spaces separate contexts.

Sync is peer-to-peer. Anytype's Any Sync protocol replicates encrypted data directly between your own devices, and a network of nodes can hold an encrypted copy so devices never online at the same time still converge. No party in the middle can read the content, and the node software is published, so a technically inclined user can run their own.

Say the tradeoff plainly: this is not Markdown on disk. Anytype keeps objects in its own encrypted local store in a binary format, not as files you can open in a text editor, list with ls or search with grep. There is a Markdown export, and the client code is published (under Anytype's own source-available licence rather than one of the standard open-source licences), so it is not a black box. But it is not the same guarantee as a directory of plain text: what you get is encrypted, local, exportable rather than readable without the application.

It is also the fastest-moving of the four. Anytype has changed its data model, its sharing model and its commercial model more than once as it has matured, and further change is reasonable to expect, so check the project rather than trusting a comparison table, this one included. It is free to use, with a paid membership tier for the hosted network and a claimed name.

AppFlowy: the open-source Notion

AppFlowy is the most straightforwardly positioned of the four: what you move to when Notion is the right shape but you do not want the data in someone else's account. Documents with block editing, grid and board and calendar views over the same records, templates, and a workspace built for more than one person.

It is written in Rust with a Flutter front end, giving it one codebase across desktop and mobile and a data layer that is genuinely local rather than a browser cache in front of a server. It is licensed AGPL v3, and the server half, AppFlowy Cloud, is published and self-hostable, so a small team can run the whole stack on its own infrastructure. A hosted option with a free tier and paid plans funds the project.

AI features exist and are moving. AppFlowy has added assistant features and, at various points, support for pointing them at local models rather than a hosted API. This is the fastest-changing part of the product and exactly the sort of claim that ages badly in an article, so treat the current documentation as authoritative. What a local model can usefully do over your own notes is covered in local-first AI at work and AI-enhanced PKM.

What it is not. Like Anytype, AppFlowy does not store your work as Markdown files in a folder; documents live in its own local database. Linking and graph features are lighter than a dedicated PKM tool's, because the emphasis is on structured records and shared workspaces rather than a dense web of notes. If you want a personal Zettelkasten, this is not it. If your team runs on a Notion workspace and the objection is where the data sits, it is the closest open replacement.

The four side by side

Licences and platforms are stable facts. Storage and sync are where the real differences sit, and where the consequences show up later.

ZettlrJoplinAnytypeAppFlowy
What it is forAcademic and long-form writing with citationsSecure, portable note keeping and web clippingA personal object graph, Notion-like but localAn open Notion for teams: docs, boards, databases
LicenceGPL v3AGPL v3Source-available under Anytype's own licenceAGPL v3
PlatformsWindows, macOS, Linux. No mobile appWindows, macOS, Linux, Android, iOS, terminalWindows, macOS, Linux, Android, iOSWindows, macOS, Linux, Android, iOS, browser
Storage formatPlain Markdown files with YAML frontmatter, in a folder you chooseLocal SQLite database; note bodies are MarkdownIts own encrypted local store, binary, not text filesIts own local database, not Markdown files
Sync mechanismNone built in. Use Git, Syncthing or any file syncJoplin Cloud, Nextcloud, Dropbox, OneDrive, WebDAV, S3 or a local directory, with opt-in end-to-end encryptionPeer-to-peer between your devices over Any Sync, with optional encrypted relay nodesAppFlowy Cloud, hosted or self-hosted
Getting data outNothing to export: the files are already the format. Pandoc adds PDF, LaTeX, Word, HTML, EPUBMarkdown files, directory dump, JEX archive, PDF, HTMLMarkdown and Protobuf export from the appMarkdown and CSV export from the app
Cost modelFree, donation fundedFree app; the optional Joplin Cloud sync service is paidFree to use, with a paid membership tierFree and self-hostable; hosted plans are paid

One row does more work than the others. Zettlr needs no export because there is nothing to convert: the working files are already the format. For the other three, everything you write passes through an application-specific store, and the export function is the only bridge back to a general-purpose one.

How to pick

  1. Name the artefact your notes turn into. A paper or a report with citations points at Zettlr and nothing else here. A shared team wiki points at AppFlowy. A private archive you can still open in ten years points at Zettlr or Joplin. A knowledge graph with typed relations points at Anytype.
  2. Decide whether the files have to be readable without the app. A yes or no question that eliminates half the list either way. If yes, you are choosing between Zettlr and a Markdown vault, with Joplin viable only once its export or file-system sync path is in place. If no, Anytype and AppFlowy open up, and they offer things a folder of text cannot.
  3. Work out where sync has to live. Someone else's cloud with your content readable, someone else's cloud with it encrypted, your own server, or a local folder and nothing else. Joplin covers the widest range, Anytype avoids the middleman by design, AppFlowy self-hosts, Zettlr defers the question to whatever file sync you already run.
  4. Count the people. Anytype and AppFlowy have real multi-user spaces. Zettlr and Joplin are single-user tools sitting on files you could share, and collaboration bolted onto a single-user tool is a permanent source of friction.
  5. Run one week of real work through the finalists, not a demo. Import a genuine project, use it for the reading you were going to do anyway, and try to get the data out again on day seven. The export you never test is the export that does not work.
  6. Stop evaluating. Tool comparison is the most enjoyable and least productive part of building a knowledge system. Two candidates, one week each, then commit. The argument for capping that search is in digital minimalism.

The cost of switching later

Every tool here will tell you there is no lock-in because the data is on your machine and there is an export button. Both halves are true and neither is the whole story. Lock-in is not about whether an export exists. It is about how much of the structure survives it.

Plain text is the easy case. Move a Zettlr folder to another Markdown editor and you lose almost nothing: the worst case is one editor writing wiki-style links where the other writes standard Markdown, which a find and replace fixes. Joplin is a step harder because the notes come out of a database, but what comes out is still Markdown with attachments, and the notebook hierarchy maps onto folders.

The graph tools are where it gets expensive, and not through carelessness. A Markdown export of an Anytype space gives you the text of every object but not the typed relations, because the destination has nowhere to put them. The same is true of AppFlowy: a database exported to CSV keeps the rows and loses the views, the relations between tables and the formulas. The export is honest and the loss is structural. The richer the model, the less of it a general-purpose format can carry.

Two things follow. Run the export on day one rather than on the day you leave: an export you have inspected is a known quantity, one you have never run is a promise. And keep the material you would most hate to lose in the plainest format the tool allows. Long-lived, low-structure content in files; short-lived, high-structure content wherever it is most comfortable to work.

That split explains why many people run two tools rather than one, which the comparison genre treats as a failure and which is often just correct. A folder of Markdown for the durable record, something structured for the work in flight. The techniques for the first half do not depend on which app you chose, and are in Zettelkasten and evergreen notes.

Choose by what your notes have to become, and by what survives if you leave. Everything else in a tool comparison is preference.

Sources