DeepNotes is an open-source, end-to-end encrypted visual note-taking tool that arranges notes on an infinite canvas with deeply nested pages and realtime collaboration, aimed at individuals and teams who want private, self-hostable knowledge management.
What it is
DeepNotes is a TypeScript application released under the AGPL-3.0 licence and described by its authors as "an open source, end-to-end encrypted infinite canvas tool with deep page nesting and realtime collaboration." It lives in the note-taking and knowledge-management ecosystem, and it names the thing it replaces plainly: the "big wall of text," the single long linear document that conventional note apps hand back to you. Instead of that, DeepNotes gives an infinite canvas on which pages can be nested to arbitrary depth, so a subject can be explored in all its complexity rather than flattened into one scrolling page. Organisation is deliberately loose, described by the project as a flexible note system in which notes can be arranged in whatever way the user wants.
Underneath, the project is assembled from a named stack rather than a bespoke one: Vue.js supplies reactivity and the component system, the Quasar Framework provides the cross-platform frontend, Yjs handles realtime collaboration, Tiptap is the rich text editor, and KeyDB and Redis provide scalable shared memory and communication. The problem it answers is twofold. Notes written in hosted, closed tools are readable by the provider, so DeepNotes encrypts them end to end and states that this keeps notes well protected. Notes also tend to be trapped in rigid hierarchies, so DeepNotes adds deep page nesting and collaboration by group, letting a team work in the same canvas in realtime while still organising material privately and, in the project's phrasing, keeping it for life.
Key capabilities
- Infinite canvases, positioned explicitly as an escape from the big wall of text.
- Deep page nesting, so concepts can be explored at whatever level of detail is needed.
- End-to-end encryption, reflected in the repository topics as both encryption and end-to-end-encryption.
- Realtime collaboration, implemented with Yjs, with groups created to collaborate with a team.
- A flexible note system that lets notes be organised in whatever way suits the author.
- Lifelong storage, described as never losing notes again.
- Five frontend targets sharing one codebase: dev:spa, dev:ssr, dev:electron, dev:android and dev:ios, covering single-page, server-rendered, desktop, Android and iOS builds.
Who uses it and how
- Teams that want shared private workspaces, using realtime collaboration and groups to work in the same canvas together.
- Privacy-focused individuals and organisations that prefer to run the stack themselves rather than trust a hosted provider with plaintext notes, with deepnotes.app available as the hosted option.
- People mapping complex or sprawling subjects, who rely on deep page nesting and the infinite canvas instead of a linear document.
- Desktop and mobile users, served by the Electron app, the Android app built with Android Studio, and the iOS app built with Xcode.
- Operators comfortable with containers, who stand the service up with docker-compose and configure hosts and ports through the .env file.
Getting started
The README's route is to clone the repository, copy template.env to .env, run pnpm install, pnpm run repo:build, and then docker-compose up -d, with WSL or Git Bash required on Windows. Development runs the backend with pnpm run dev alongside one of dev:spa, dev:ssr, dev:electron, dev:android or dev:ios, with SPA and SSR reached at http://localhost:60379 by default; a hosted instance is also offered at deepnotes.app.
How it compares
The facts provided name no paid products that DeepNotes replaces and no comparable note-taking tools, so within this registry it stands alone on the combination of an infinite canvas, deep page nesting and end-to-end encryption. The only contrast the facts support is internal to the project: the hosted option at deepnotes.app versus a self-hosted deployment of the AGPL-3.0 code, which keeps the data on infrastructure the operator controls.
When to use it — and when not to
Choosing DeepNotes means operating it: a self-hoster must run the Docker Compose services, keep the KeyDB or Redis dependency alive for shared memory and communication, maintain a .env file, and be comfortable with pnpm builds. It is a poor fit for anyone who wants a managed service with no operational work, and the AGPL-3.0 licence matters to organisations that would modify it and expose it over a network. The README is also brief and developer-oriented, documenting setup more thoroughly than end-user usage, so evaluation has to lean on the homepage and the repository topics.