Notes that belong to you.
End-to-end encrypted, offline-first markdown notes, synced to your own server. No cloud, no trackers, no subscriptions. Free & open source.
Clean, fast, private
Works on Android and Linux. No account needed to get started.
Built for privacy, not profit
Simple decisions: you own the data, you control the server, the code is public.
End-to-end encrypted
Notes are encrypted on your device before they leave it. The server only ever stores ciphertext, so it can't read your content even if it gets compromised.
Offline-first
Every device keeps a full local copy. Notes open instantly and editing works with no internet. Changes sync automatically when your server is reachable.
Self-hosted
Run the sync server on your home network - a Raspberry Pi, an old laptop, anything. Your data stays on hardware you own and never touches a third-party cloud.
Free and open source
Licensed AGPLv3. Read the code, audit it, self-host it, fork it. No paywalls, no telemetry, no lock-in. Available on F-Droid and AUR.
Want to try it yourself?
A browser version of the app. Notes stay in your browser - nothing is sent anywhere.
The real app syncs to your own server with end-to-end encryption. Download it →
Download
Free, forever. No account required.
Linux
Android
Official F-Droid repo.
Official Play Store listing.
arm64-v8a APK from GitHub.
Windows (coming soon)
Windows 10/11 setup wizard.
Unzip and run, no install.
Also need the sync server?
Binary or Docker, runs on Linux. See Server Setup below.
Set up the sync server
Runs on any Linux machine on your home network. Takes about 5 minutes.
Download the server
A self-contained tarball with the binary, a systemd service file, and an installer - no runtime or dependencies to install yourself. On a Raspberry Pi, use /dl/server-arm64 instead of /dl/server below.
curl -L https://librenotes.ayopili.com/dl/server | tar -xzf - cd librenotes-server
Install it
Sets up a systemd service running as its own unprivileged user, and prints the auth token once it starts.
sudo bash install.sh # Token also readable any time at: sudo cat /var/lib/librenotes/token
Connect the app
Open Settings → Sync in the app. Enter your server IP and the token. Use the same passphrase on every device.
Server URL: http://<server-ip>:8787 Token: aBc123... Passphrase: (pick something strong)
Want sync away from home too?
Put your devices and server on a Tailscale or WireGuard mesh. No server changes needed - just update the URL in the app. To add HTTPS, put a Caddy, nginx or Tailscale proxy in front.
Actively developed
LibreNotes ships regularly. Here's what changed most recently.