Skip to main content

Client Apps

Third-party apps for accessing Fediverse platforms.

Mobile Apps

iOS

AppPlatformsFeaturesLicense
IvoryMastodonPolished, paidProprietary
Ice CubesMastodonOpen source, freeMIT
MonaMastodonFeature-richProprietary
Toot!MastodonPlayful designProprietary
TuskerMastodonNative iOSOpen Source

Android

AppPlatformsFeaturesLicense
TuskyMastodonPopular, matureGPL-3.0
MegalodonMastodonTusky fork, extrasGPL-3.0
FedilabMultiMany platformsGPL-3.0
MoshidonMastodonMaterial YouGPL-3.0
JerboaLemmyOfficial clientAGPL-3.0

Cross-Platform

AppPlatformsFeaturesLicense
ElkMastodonWeb/PWAMIT
PhanpyMastodonMinimalist webMIT
VoyagerLemmyiOS/AndroidAGPL-3.0

Desktop Apps

Native

AppOSPlatformLicense
WhalebirdWin/Mac/LinuxMastodonMIT
SengiWin/Mac/LinuxMastodonAGPL-3.0
HyperspaceWin/Mac/LinuxMastodonNPL
TheDeskWin/Mac/LinuxMastodonGPL-3.0

Web Clients

ClientPlatformDescription
ElkMastodonModern web client
PhanpyMastodonMinimalist
SemaphoreMastodonPinafore successor
PhotonLemmyModern UI

Platform-Specific

Mastodon

Most apps use the Mastodon API:

  • Official web interface
  • Third-party clients listed above
  • PWA support in official web

Lemmy

  • Voyager (iOS/Android) - Popular choice
  • Jerboa (Android) - Official client
  • Sync for Lemmy (Android) - From Reddit Sync dev
  • Photon (Web) - Modern interface

Pixelfed

  • Official web interface
  • Some Mastodon clients work partially
  • Native apps in development

PeerTube

  • Official web interface
  • NewPipe (Android) - Supports PeerTube
  • Thorium (iOS) - Dedicated client

Developing a Client

API Compatibility

Most clients target the Mastodon API:

GET /api/v1/accounts/:id
GET /api/v1/timelines/home
POST /api/v1/statuses

Authentication

OAuth 2.0 flow:

1. Register app → client_id, client_secret
2. User authorizes → authorization code
3. Exchange code → access token
4. Use token for API calls

ActivityPub C2S

Some platforms support C2S (Client-to-Server):

POST /users/alice/outbox
Authorization: Bearer {token}
Content-Type: application/activity+json

{
"type": "Create",
"object": {
"type": "Note",
"content": "Hello!"
}
}

Currently supported by:

  • Pleroma/Akkoma
  • Some experimental servers

Choosing a Client

For Mastodon Users

NeedRecommendation
iOS, polishedIvory, Ice Cubes
Android, matureTusky, Megalodon
DesktopWhalebird, Elk
WebElk, Phanpy

For Lemmy Users

NeedRecommendation
iOSVoyager
AndroidVoyager, Jerboa
WebPhoton

See Also