Skip to content

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

Nostr Clients Compared — iOS, Android, Web & Desktop Apps

Compare open-source Nostr client apps across iOS, Android, web and desktop by platform, key-management/signer model and license. Your identity is your keypair, so you can switch clients freely. Free CSV/JSON + REST under CC BY 4.0.

Quick answer

A Nostr client is the app you actually use to read and post. The key insight: your identity is a keypair (your nsec), not an account on any server, so you can move between clients freely without losing your followers or history. This reference compares 19 open-source clients across iOS/macOS (Damus, Nostur, Nos), Android (Amethyst, Voyage), cross-platform mobile (Primal, YakiHonne, 0xchat, Olas), web (Coracle, Snort, Iris, noStrudel, Habla.news, Flycat, Ditto) and desktop (Gossip, Notedeck) by platform, key-management model and license.

Because identity lives in your keypair, switching clients is friction-free. Web clients lean on NIP-07 browser signers; Android increasingly uses NIP-55 external signers (Amber); desktop clients like Gossip encrypt your key on disk. Hold your own nsec and you stay sovereign across every app.

Download CSV Download JSON REST API →

ClientPlatformsKey handlingLicenseCategoryWhat it is
DamusiOS, iPadOS, macOSLocal on-device key storage; nsec import/generate; integrates with iOS keychainGPL-3.0General social clientOne of the earliest Nostr clients for Apple platforms, offering a Twitter-like microblogging experience for iPhone, iPad and Mac. Written in Swift.
AmethystAndroid (with desktop builds for macOS, Windows, Linux)Local key storage, plus support for external signers via NIP-55 (e.g. Amber) so the app need not hold the private key directlyMITGeneral social clientA feature-rich Nostr social client for Android, written primarily in Kotlin. Supports NIP-55 external Android signer applications.
PrimalWeb, iOS, Androidnsec import/generate; web app works with NIP-07 browser signersMIT (primal-web-app)General social clientA Nostr client with a caching/indexing backend offering fast feeds, search and analytics across web and mobile. The web app is built with SolidJS/TypeScript.
CoracleWeb (PWA), AndroidSupports NIP-07 browser extensions and remote/bunker signing (NIP-46); nsec login also availableMITGeneral social clientA Nostr web client focused on getting the most out of multiple relays, with custom feeds, filtering and zaps. Built with Svelte/TypeScript.
SnortWeb (with a Tauri desktop variant)Supports NIP-07 browser signer extensions and nsec loginMITGeneral social clientA Nostr web UI built with React/TypeScript aiming for speed and broad NIP support.
IrisWeb (with desktop and mobile builds)Client-side key storage; offline-first design; supports NIP-07 browser signersMITGeneral social client / messengerAn offline-first Nostr web client that does not depend on a single relay, including encrypted DMs, a Cashu wallet and social-graph based content filtering. Written in TypeScript.
GossipDesktop (Windows, macOS, Linux)Private key encrypted under a passphrase on disk, decrypted on startup; memory zeroed before freeing. Emphasis on secure local key handlingMITGeneral social / power-user desktop clientA desktop Nostr client written in Rust (egui UI) emphasizing security, relay-model correctness and careful private-key handling.
NosturiOS, iPadOS, macOSLocal on-device key storage; nsec import/generateGPL-3.0General social clientA social-media oriented Nostr client for Apple platforms with a broad and experimental feature set. Public source written in Swift.
noStrudelWebRecommends NIP-07 browser extensions (e.g. Alby, nos2x) rather than entering secret keys directly in the web appMITGeneral/exploratory social clientA web Nostr client and protocol sandbox for browsing notes and inspecting underlying events, written in TypeScript.
NosiOS, macOSLocal on-device key storage; nsec import/generateMPL-2.0General social clientA Nostr client from the Planetary team focused on a polished new-user experience for Apple platforms. Written in Swift.
NotedeckDesktop (Linux, macOS, Windows), AndroidLocal key storage with multi-account supportGPL (per-crate; see repository)Multi-column power-user clientA multiplatform, TweetDeck-style Nostr client built in Rust by the Damus team, providing a multi-column layout and media support. In beta.
YakiHonneWeb, iOS, Android, macOSnsec login; web app supports NIP-07 browser signersMITContent/media social client (long-form, articles, curation)A decentralized content-media client supporting multiple formats including long-form articles, notes and curation, across web and mobile. Mobile app built with Flutter/Dart. (Linked repo is the archived mobile app; project continues at the YakiHonne organization.)
Habla.newsWebSupports NIP-07 browser signer extensionsGPL-3.0Long-form content client (NIP-23)A Nostr web client for reading, writing and curating long-form (NIP-23) censorship-resistant content. Written in TypeScript.
HighlighterWebSupports NIP-07 browser signer extensionsCreator publishing / curation clientA Nostr web tool for creators and fans, supporting curated highlights and creator publishing/subscriptions (built on NIP-29 groups and NIP-88 subscriptions). Source is publicly available but no explicit license was found in the repository, so open-source status is not confirmed.
OlasiOS, Androidnsec login; supports remote signingMITMedia-sharing social client (image/photo)A media-focused Nostr client (image/photo sharing) built with React Native/Expo in TypeScript.
0xchatiOS, Android (desktop/tablet planned)Private-key login; encrypted private and group chats; encrypted contact listsLGPL-3.0Secure messenger clientA secure chat app built on Nostr offering encrypted private and group messaging, public channels and Cashu payments. Built with Dart/Flutter.
FlycatWeb (PWA, with Tauri desktop)Multiple sign-in methods including NIP-07 browser signersMITBlogging / minimalist social clientA 2000s old-school style Nostr web client supporting blogging and multiple content types, with no follower counts or engagement metrics. Written in TypeScript.
DittoWeb (static build), Android (Capacitor)Supports NIP-07 browser signers; nsec loginAGPL-3.0Customizable social client / community platformA customizable Nostr social client that builds to static HTML/JS/CSS and can be self-deployed, with an Android build via Capacitor. Written in TypeScript.
VoyageAndroidExternal-signer-only authentication (NIP-55); the app itself does not hold the private keyMITReddit-style / lightweight social clientA lightweight Android Nostr client with a Reddit-like UI, outbox-model relay discovery and offline support. Written in Kotlin; requires an external signer.

Source: each project’s own GitHub repository, cross-referenced against the awesome-nostr list (June 2026). See also the Nostr relay implementations, the NIPs reference, the event kinds reference, and the Nostr glossary entry.