Client Apps
Third-party apps for accessing Fediverse platforms.
Mobile Apps
iOS
| App | Platforms | Features | License |
|---|---|---|---|
| Ivory | Mastodon | Polished, paid | Proprietary |
| Ice Cubes | Mastodon | Open source, free | MIT |
| Mona | Mastodon | Feature-rich | Proprietary |
| Toot! | Mastodon | Playful design | Proprietary |
| Tusker | Mastodon | Native iOS | Open Source |
Android
| App | Platforms | Features | License |
|---|---|---|---|
| Tusky | Mastodon | Popular, mature | GPL-3.0 |
| Megalodon | Mastodon | Tusky fork, extras | GPL-3.0 |
| Fedilab | Multi | Many platforms | GPL-3.0 |
| Moshidon | Mastodon | Material You | GPL-3.0 |
| Jerboa | Lemmy | Official client | AGPL-3.0 |
Cross-Platform
| App | Platforms | Features | License |
|---|---|---|---|
| Elk | Mastodon | Web/PWA | MIT |
| Phanpy | Mastodon | Minimalist web | MIT |
| Voyager | Lemmy | iOS/Android | AGPL-3.0 |
Desktop Apps
Native
| App | OS | Platform | License |
|---|---|---|---|
| Whalebird | Win/Mac/Linux | Mastodon | MIT |
| Sengi | Win/Mac/Linux | Mastodon | AGPL-3.0 |
| Hyperspace | Win/Mac/Linux | Mastodon | NPL |
| TheDesk | Win/Mac/Linux | Mastodon | GPL-3.0 |
Web Clients
| Client | Platform | Description |
|---|---|---|
| Elk | Mastodon | Modern web client |
| Phanpy | Mastodon | Minimalist |
| Semaphore | Mastodon | Pinafore successor |
| Photon | Lemmy | Modern 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
| Need | Recommendation |
|---|---|
| iOS, polished | Ivory, Ice Cubes |
| Android, mature | Tusky, Megalodon |
| Desktop | Whalebird, Elk |
| Web | Elk, Phanpy |
For Lemmy Users
| Need | Recommendation |
|---|---|
| iOS | Voyager |
| Android | Voyager, Jerboa |
| Web | Photon |