Offline Notepad is a small place to write private notes in a web browser. It works online, it keeps working when the connection drops, and it does not ask the server to hold a readable copy of your notebook.

You start with a notebook name and password. The same form opens a notebook that already exists or creates a new one. The notebook name identifies the encrypted workspace. Your password is used inside the browser to unlock it, but the password itself is never sent to the server.

On the first online visit, the browser downloads the app and caches the files it needs to open again. That makes Offline Notepad an installable web app. Once it has been loaded on a device, you can reopen the app, read cached notes, write, edit, search, and delete while the device is offline.

Local storage comes first. When you change a note, Offline Notepad encrypts it and saves the encrypted record to an IndexedDB database in your browser before it attempts to synchronize. Closing a tab or losing a connection does not make the app wait on a server before preserving the change.

When a connection is available, an outbox sends those encrypted records to the server over a WebSocket. The server acknowledges a revision before the interface says “Synced.” If it has not done that yet, the note says “Saved offline.” Reconnecting starts the queue again.

More than one device can open the same notebook. Revisions keep changes in order. If a newer server revision arrives while this device has an unsent edit, the local edit is rebased and retried in place, so synchronization never creates duplicate conflict notes.

The security boundary is the browser. A password is processed with Argon2id, then separate encryption and authentication keys are derived. Private notes are encrypted with XChaCha20-Poly1305. The encrypted record is also tied to its notebook and document identifiers so it cannot simply be moved somewhere else and treated as valid.

The server receives a public authentication key, encrypted note records, revisions, and tombstones for deleted notes. It does not receive the password, the private authentication key, or the readable content of a private note. To connect, the browser signs a fresh challenge. That proves it has the right key without handing the key to the server.

A saved login keeps the derived keys in this browser so the notebook can reopen offline. That is convenient on a personal device, but it also means you should log out on a shared one. There is intentionally no password recovery or key escrow. If you forget the notebook name or password and have no open device or backup, the server cannot decrypt the notes for you.

Public notes are different by design. Publishing creates a separate, read-only plaintext snapshot of the one note you chose. Later private edits do not change it automatically. Removing the snapshot does not remove the private note.

Offline Notepad is open source under the MIT license. You can read the source code on GitHub, run it yourself as one Go binary, use SQLite for a standalone installation, or select PostgreSQL for a hosted deployment.

The short version is that the browser does the sensitive work, the device saves first, and the server synchronizes ciphertext. If that is the kind of notepad you want, open Offline Notepad and create a notebook.