NoorNote (Arabic: نور, meaning "light") is a fast, privacy-focused desktop client for Nostr - the decentralized social protocol.
Available for macOS and Linux. Windows is not officially supported.
- Timeline - Follow your network, see latest posts, reposts, and quotes
- Notifications - Likes, zaps, reposts, mentions, and replies
- Direct Messages - Encrypted private conversations (NIP-17 + legacy NIP-04)
- Long-Form Articles - Read and write NIP-23 articles with dedicated timeline
- Polls - Create and vote on NIP-88 polls
- Zaps - Send and receive Lightning payments via NWC
- Spotlight-like search - Search by Event, Username, npub and full-text. With built-in browsing history. Quick access to anything with CMD+K/CTRL+K
- Search in npub - Search for keywords within a specific user's posts
- Rich Bookmarks - Sortable lists with folder organization
- Custom Bookmarks - Bookmark any URL, just like in a browser
- Mute Threads - Say bye to hell threads
- Follow lists - With mutual badges and zap balances
- Quoted reposts - Shown in note's replies
- Article notifications - Get notified on new articles per user
- Analytics per note - See who liked, reposted, quoted, replied, or zapped
- Thread mention alerts - Get notified when someone replies to a note you were mentioned in
- Local list backups - Manual NIP-51 list management, never lose your follows, bookmarks, or mutes again
- Multiple NIP-05 support - Add multiple verified addresses to your profile
- Safe NWC storage - Stored in keychain (macOS) or Secret Service (Linux)
...and many more to come.
Available for macOS and Linux: Releases
Since the app is not signed, macOS will show an error ("app is damaged"). Run this in Terminal after installation:
xattr -cr /Applications/Noornote.app- No tracking - Zero analytics, no data collection
- Local-first lists - Follows, bookmarks, and mutes are stored locally with optional relay sync
- Encrypted keys - Private keys stored in system keychain (macOS) or Secret Service (Linux)
If the app crashes, check the log files:
| System | Log Location |
|---|---|
| Linux | ~/.local/share/com.noornote.desktop/logs/ |
| macOS | ~/Library/Logs/com.noornote.desktop/ |
| Method | Security | Convenience |
|---|---|---|
| NoorSigner | High | High |
| NIP-46 Remote Signer | High | Medium |
Recommended: Use NoorSigner for best security and convenience.
| NIP | Description | Kind(s) |
|---|---|---|
| NIP-01 | Basic protocol (notes, profiles) | 0, 1 |
| NIP-02 | Follow list | 3 |
| NIP-04 | Encrypted DMs (legacy) | 4 |
| NIP-05 | DNS-based verification | - |
| NIP-07 | Browser extension signing | - |
| NIP-09 | Event deletion | 5 |
| NIP-10 | Reply threading | - |
| NIP-17 | Private Direct Messages | 13, 14, 1059, 10050 |
| NIP-18 | Reposts | 6 |
| NIP-19 | bech32 encoding (npub, nsec, note, nevent, naddr) | - |
| NIP-23 | Long-form content (articles) | 30023 |
| NIP-25 | Reactions | 7 |
| NIP-27 | Text note references | - |
| NIP-36 | Content warnings (NSFW) | - |
| NIP-44 | Encrypted payloads (modern encryption) | - |
| NIP-46 | Remote signing (bunker://) | 24133 |
| NIP-47 | Nostr Wallet Connect | 23194, 23195 |
| NIP-50 | Search | - |
| NIP-51 | Lists (bookmarks, mutes, private follows) | 10000, 30000, 30003 |
| NIP-56 | Reporting | 1984 |
| NIP-57 | Zaps | 9734, 9735 |
| NIP-65 | Relay list metadata | 10002 |
| NIP-78 | Application-specific data | 30078 |
| NIP-88 | Polls | 1068, 1018 |
| NIP-96 | HTTP file storage | 24242 |
| NIP-98 | HTTP auth | 27235 |
Complete guide for building NoorNote and NoorSigner from source on all supported platforms.
All Platforms:
- Node.js 20+
- Rust 1.70+ (install via rustup)
- Go 1.24+ (for NoorSigner)
Linux:
# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libsoup-3.0-dev \
libjavascriptcoregtk-4.1-dev librsvg2-dev patchelf libsecret-1-dev
# Fedora/RHEL
sudo dnf install webkit2gtk4.1-devel gtk3-devel libsoup3-devel \
javascriptcoregtk4.1-devel librsvg2-devel patchelf libsecret-devel
# Arch Linux
sudo pacman -S webkit2gtk-4.1 gtk3 libsoup3 librsvg patchelf libsecretmacOS:
- Xcode Command Line Tools:
xcode-select --install
# Clone NoorNote
git clone https://github.com/77elements/noornote.git
cd noornote
# Clone NoorSigner (sibling directory)
cd ..
git clone https://github.com/77elements/noorsigner.gitBuild NoorSigner for your platform. Choose ONE based on your system:
Linux x64:
cd noorsigner
GOOS=linux GOARCH=amd64 go build -o noorsigner-x86_64-unknown-linux-gnu -ldflags="-s -w" .Linux ARM64:
cd noorsigner
GOOS=linux GOARCH=arm64 go build -o noorsigner-aarch64-unknown-linux-gnu -ldflags="-s -w" .macOS Intel (x86_64):
cd noorsigner
GOOS=darwin GOARCH=amd64 go build -o noorsigner-x86_64-apple-darwin -ldflags="-s -w" .macOS Apple Silicon (ARM64):
cd noorsigner
GOOS=darwin GOARCH=arm64 go build -o noorsigner-aarch64-apple-darwin -ldflags="-s -w" .Copy the binary you just built to NoorNote's binaries folder. Use the command matching your platform from Step 2:
cd ../noornote
mkdir -p src-tauri/binariesThen one of these:
# Linux x64:
cp ../noorsigner/noorsigner-x86_64-unknown-linux-gnu src-tauri/binaries/
# Linux ARM64:
cp ../noorsigner/noorsigner-aarch64-unknown-linux-gnu src-tauri/binaries/
# macOS Intel:
cp ../noorsigner/noorsigner-x86_64-apple-darwin src-tauri/binaries/
# macOS ARM64:
cp ../noorsigner/noorsigner-aarch64-apple-darwin src-tauri/binaries/Development Mode:
npm install
npm run tauri:devProduction Build:
npm run tauri buildBuild artifacts will be in src-tauri/target/release/bundle/:
- Linux:
.deb,.rpm,.tar.gz - macOS:
.dmg,.app
Error: noorsigner-* binary not found
- Ensure Step 2-3 completed successfully
- Verify binary exists:
ls -la src-tauri/binaries/
Linux: webkit2gtk errors
- Install system dependencies (see System Requirements)
- Try:
sudo ldconfigafter installing libs
macOS: Code signing errors
- Development builds don't need signing
- For distribution: see Tauri signing docs
- Frontend: TypeScript, Vanilla JS, SASS
- Desktop: Tauri 2.0 (Rust)
- Nostr: NDK (Nostr Dev Kit)
- Build: Vite
MIT
