OSS Tanbou

Notesnook — a privacy-focused notes app combining E2EE, cross-platform clients, and self-hosted infrastructure

OSS health 96
About these scores

Discovery score is an unbounded weighted, log-compressed index of stars, watchers, forks, and contributors. Growth momentum is its change over the observed period; OSS health is a 0–100 score from available repository recency, Community Health, and release data.

Stars
14,594
Primary language
TypeScript
License
GPL-3.0
Repository last updated
Sep 15, 2026

Overview

Notesnook is an open-source note-taking application positioned as an Evernote alternative. Its web, desktop, Android, and iOS clients share the same data model while encrypting notes on the device before sync under a zero-knowledge design. Users can rely on the official service or point the clients at self-hosted sync, auth, events, and monograph servers.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Encrypt notes on the device so the server receives ciphertext rather than readable note content

The official encryption documentation says each item is encrypted before sync with XChaCha20-Poly1305-IETF. A master key is derived with Argon2i, while Argon2id is used for the server-side password hash path. The actual password and decryption keys do not leave the device, and the server stores encrypted blobs it cannot open.

Sources: [2]

Ship web, desktop, and mobile clients from one monorepo with shared editor, core, and crypto packages

The repository contains the web client, Electron desktop app, React Native mobile apps, Web Clipper, shared core, crypto wrappers, and editor packages. The README describes React across the front end, React Native on mobile, Electron on desktop, and an ongoing migration toward TypeScript, making the client and cryptography stack inspectable in one codebase.

Sources: [1][4]

Replace the hosted backend with your own sync, auth, events, and monograph endpoints

Every Notesnook client can be pointed at four self-hosted endpoints: sync, auth, events/SSE, and monograph. The self-hosting guide runs the server stack with Docker Compose on Linux, then has the client test and save all four URLs. End-to-end encryption remains in place, so self-hosting can also keep the encrypted server-side data off Notesnook-operated machines.

Sources: [3]

A fit for users who want Evernote-style convenience without giving the storage provider plaintext access

Notesnook is relevant when cross-device notes are important but the service operator should not be able to read note content, when web, desktop, and mobile clients need to stay aligned, or when an organization wants the option to run the synchronization infrastructure itself. Open client and crypto code also helps teams that want to inspect implementation details rather than rely only on product claims.

Zero knowledge also means losing both the password and recovery key can make the notes unrecoverable

Because Notesnook does not hold the keys needed to decrypt user data, losing both the password and account recovery key leaves nobody, including Notesnook, able to recover the notes. Adoption should therefore include secure recovery-key storage and backups that are independent of a single client or server.

Sources: [2]

Self-hosting is a multi-service operation with HTTPS, SMTP, backups, and a deliberate backend migration procedure

The official self-hosting guide assumes Linux, Docker, and Docker Compose and lists 1 GB of RAM and 20 GB of storage as baseline requirements. SMTP is needed for password reset or email-based two-factor authentication. Browser and mobile use require HTTPS, and all four required server endpoints must move together rather than mixing hosted and self-hosted services.

When switching an existing client from the official backend to a self-hosted instance, the guide tells users to back up first, log out, change the server URLs, create a new account on the new instance, and restore the backup. It is not an account-transfer mechanism. The server stack itself comes from the separate notesnook-sync-server repository, while this client repository is GPL-3.0 licensed.

Sources: [3][5]

Official sources

  1. [1]streetwriters/notesnook — README(2026-09-15)
  2. [2]Notesnook Help — How does Notesnook encrypt my notes?(2026-09-15)
  3. [3]Notesnook Help — Self-hosting(2026-09-15)
  4. [4]Notesnook Desktop — README(2026-09-15)
  5. [5]streetwriters/notesnook — LICENSE(2026-09-15)
Supplemental curator note

We selected Notesnook because its privacy claims are backed by public details about algorithms, key placement, and what the server actually receives. Self-hosting also requires operating four coordinated services, so recovery keys, backups, and backend migration procedures matter as much as the editor itself.

Try it in 3 steps

  1. 1

    Download Compose and .env

    Follow the official self-hosting guide to download the server stack docker-compose.yml and .env files.

    mkdir notesnook-sync-server && cd notesnook-sync-server && wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/master/docker-compose.yml && wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/master/.env
  2. 2

    Configure .env

    Use the generated value for NOTESNOOK_API_SECRET, then configure INSTANCE_NAME and the public URLs for your environment. Configure SMTP if you need password reset or email-based 2FA.

    openssl rand -hex 32
  3. 3

    Start the server stack

    Verify that all seven containers are healthy. Then configure the client with the sync, auth, events, and monograph URLs and run Test connection.

    docker compose up -d && docker compose ps
Check the official README

Growth

Growth trends · Last 30 days

14,594 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
76
Open PRs
100

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • note-taking
  • notes-app
  • notes
  • notebook
  • note-taking-app
  • note-managment
  • productivity
  • electron
  • react
  • reactjs
  • react-native
  • dotnet-core
Stars
14,594
Forks
1,006
Watchers
76
Open issues
925
Primary language
TypeScript
License
GPL-3.0
Repository last updated
Sep 15, 2026
Report incorrect information

Tell us if any listing information is incorrect or outdated.