LA

Laverna

Markdown note-taking app with client-side encryption

Notes & Knowledge Base ★ 9.2k stars Easy setup MPL-2.0

Laverna is an open-source, web-based note-taking application with Markdown support and client-side encryption. It can store notes locally or sync via Dropbox or remoteStorage and can be self-hosted as a static app.

Key features

  • Client-side encryption
  • Markdown editor
  • Offline support
  • Static self-hosted app

Pros & cons

Strengths

  • Strong privacy focus
  • No backend required

Trade-offs

  • Development has stalled
  • Aging codebase

Laverna replaces

Last reviewed Aug 26, 2026 · 784 words

Do not start a new note collection in Laverna. Development stalled years ago, the sync backends it was built around have drifted, and its client-side encryption depends on a JavaScript crypto library frozen at whatever version shipped with it. The 9,178 stars are a monument to what it was around 2015: the first credible open-source, encrypted, Markdown-based Evernote replacement you could serve from any web host. People still find it, so the honest guide is "here is what it is, here is how to get your notes out, here is where to go".

What Laverna is: a web page with the database inside your browser

There is no server component. "Self-hosting" Laverna means serving a folder of static HTML, CSS and JavaScript with nginx, Caddy or any file host, which is why 128 MB of RAM is generous and why it is filed as Easy. All notes are stored in the browser's IndexedDB, encrypted with a passphrase you set, and never leave the machine unless you turn on sync. Three consequences follow. Each browser profile has its own, separate copy of your notes. Clearing site data deletes them. And losing the passphrase is final; there is no reset, because there is nobody to reset it.

That architecture was the whole appeal in its day: zero trust in the host, Markdown with a live preview, a distraction-free editor, tags and notebooks. It was also the limit. A notes app is only as good as its sync, and Laverna's sync was always the weak leg.

Sync was bolted on, and the bolts have rusted

The options were Dropbox or a remoteStorage server. Dropbox's API has changed generations since Laverna last shipped, and remoteStorage, while still alive, never became something most self-hosters run. Encrypted notes synced through either path were prone to conflicts, and a conflict between two encrypted blobs is not something you resolve by reading the diff. If you kept Laverna working across two devices for years, you had unusual patience. Most people ended up with one browser that had the real notes and two that had stale copies.

If you are still running it, export today

Every day you leave notes in an unmaintained encrypted store is a day a browser update can strand them. The export path is in Settings under Import/Export: it produces a ZIP containing your notebooks and notes as JSON, with the note bodies in Markdown. Do this while the app still opens, from the browser profile that holds the current copy, and unzip it somewhere you back up. Because the bodies are plain Markdown once decrypted, converting them is a small script, and most modern apps can import a folder of .md files directly.

A minimal one-liner to pull the Markdown out of the JSON export, assuming jq is installed:

for f in notes/*.json; do jq -r '.content' "$f" > "md/$(jq -r '.title' "$f" | tr '/ ' '__').md"; done

Check the field names against your export first; older versions differ slightly. The point is that the notes are recoverable in minutes, not that the script is elegant.

Where to move

The notes category has three good homes for a Laverna refugee, depending on which part you valued.

If the draw was "Evernote, but mine and encrypted", Joplin is the direct descendant: Markdown notes, end-to-end encryption, sync through Nextcloud, WebDAV, S3 or its own server, real mobile apps. It is the pick for most people.

If you had grown a deep notebook hierarchy and wanted it to be a personal wiki, Trilium does tree-structured notes with per-note encryption, and it is a proper server you host rather than a browser database.

If the local-first, no-server-required model is what you loved, Anytype keeps that promise with an object-based data model and encrypted peer-to-peer sync, at the cost of being a heavier, younger app. The broader survey of notes apps you actually own covers the rest, including options I would not pick.

What I'd do

Export from Laverna this week, from the browser that has the newest notes, and verify the ZIP opens before touching anything else. Stand up Joplin's sync target on the same box that serves your other apps (a WebDAV share or the Joplin server container), import the Markdown folder, set the end-to-end encryption passphrase, and delete the Laverna site data only after the notes appear on a second device. Keep the static Laverna folder around if you like; it costs nothing and reads old exports. Just stop writing into it.

Compare Laverna

21 head-to-head comparisons.

Similar notes & knowledge base apps