What Is Dnote and What Is It Used For?

Updated

Dnote is a terminal-based notebook for capturing commands, snippets, and insights without leaving the command line. It stores everything in a single SQLite file, supports full-text search, and optionally syncs across devices through a self-hosted server. It fits developers and terminal-heavy users who want a fast, local-first place to save knowledge and retrieve it later.

What Dnote does

Dnote is built around a simple loop: capture something quickly, then find it again with search. According to the project, it lets you "quickly save commands, snippets, and insights" and "find them later with full-text search."

Its core capabilities, as described on the site:

  • Terminal-based capture — save notes without switching to a browser or separate app.
  • Full-text search — search across all notes instantly instead of scrolling through shell history.
  • Bring your own editor — works with your preferred text editor, whether terminal-based or GUI.
  • SQLite storage — one file contains everything, so you can back it up, query it with standard tools, or migrate it.
  • Single binary — no dependencies or package managers required; download and run.
  • Cross-platform — binaries for macOS, Linux, FreeBSD, and Windows, with Homebrew or direct download options.
  • Free and open source — the code can be inspected, contributed to, or forked.

What it is used for

Dnote is a good fit when the problem is "I know I solved this before, but I can't find it." Typical uses include:

  • Saving shell commands and one-liners you don't want to reconstruct from memory.
  • Keeping reusable code snippets close to where you work.
  • Jotting down short insights or explanations while they're fresh.
  • Building a personal, searchable knowledge base that lives in your terminal.

Because notes are stored in SQLite, the same data can also be queried with standard database tools — useful if you want to script against your own notes.

Optional self-hosted sync

Dnote works locally, and the server is optional. If you want notes on more than one machine, you can run your own server:

  • Self-hosted server — a single binary with SQLite, no separate database setup required. Deploy with Docker or run it directly.
  • Multi-device sync — sync data between devices through the server.
  • API access — reach your notes via REST API to build integrations or access them from any HTTP client.

This matters if you care about where your data lives: self-hosting keeps sync under your control rather than depending on a third-party service.

Who it suits — and who it doesn't

Situation Dnote fits?
You live in the terminal and want notes there Yes
You want a local-first, single-file store you can back up or query Yes
You want to sync across devices under your own control Yes, with the self-hosted server
You want a rich GUI note app with formatting, images, and collaboration Probably not — it's a command-line notebook
You don't want to run or maintain any server Local use still works; sync requires setup

The project states it has been free and open source since 2017 and "will be always free." For current download options and server setup details, check the project's own site, since installation methods and platform binaries can change.