Tinode
A self-hosted instant messaging server in Go with Android, iOS and web clients, aimed at WhatsApp- or Telegram-style chat rather than Slack.
What is Tinode?
Tinode is a full messaging stack: a Go backend plus native clients for Android (Java) and iOS (Swift), a React web app, a scriptable command-line client and chatbot support. Clients talk to the server with JSON over WebSocket or long polling, or protobuf over gRPC, with gRPC bindings for many languages. Its authors want to fulfil what XMPP promised, an open federated messenger focused on mobile, without being compatible with XMPP. The README calls it beta quality, feature-complete but with some bugs.
Good fit if
- You want to run your own consumer-style messenger with mobile apps under your control.
- You are building chat into a product and need a backend with ready clients.
Look elsewhere if
- You need workplace chat with channels and integrations: Mattermost or Zulip.
- You want federation that already works across many servers: Element on Matrix.
Before you adopt it
The server is GPL-3.0, while the clients are under Apache-2.0; the repository's license metadata changed from Apache-2.0 to GPL-3.0 in November 2017. Contributors sign a CLA. One developer writes nearly all of the code, so the project depends on a single person; paid support is sold separately. Docker images and Linux, macOS and Windows builds are available.
Drafted with AI from the project's README and repository data, then checked against that data on 31 October 2026. Report a correction
Tinode health: is it still maintained?
59 of 100, actively developed
Read from GitHub on 3 November 2026. How the score works
Tinode license: is it open source?
Tinode uses GPL-3.0, an open-source license approved by the OSI. Contributors sign a contributor license agreement, which lets the owner relicense their work later.
- November 2014First published on GitHub under Apache-2.0.
- 8 November 2017Changed to GPL-3.0. Commit: github's license selector does not work quite as expected
- TodayGPL-3.0. A contributor license agreement is required.
How to run Tinode yourself
- Docker
- Dockerfile or compose file in the repository
- Compose file
- None in the repository
- Setup effort
- Not rated: no compose file to judge from
- Kubernetes
- No Helm chart in the repository
- Desktop and mobile
- Builds for Linux, macOS, Windows, including ARM in GitHub releases
- Interface languages
- English only
Install instructions: the README on GitHub.
Alternatives to Tinode
- Rocket.ChatThe Secure CommsOS™ for mission-critical operations 82 health · MIT · 46.4k stars
- SimpleX ChatSimpleX - the first messaging network operating without user identifiers of any kind - 100% private by… 65 health · AGPL-3.0 · 19.6k stars
- ZulipZulip server and web application. Open-source team chat that helps teams stay productive and focused. 93 health · Apache-2.0 · 26.2k stars
- MattermostMattermost is an open source platform for secure collaboration across the entire software development… 74 health · Apache-2.0 · 39.5k stars
- FluxerA free and open source instant messaging and VoIP chat app built for friends, groups, and communities. 65 health · AGPL-3.0 · 10.8k stars
Questions about Tinode
Is Tinode open source?
Yes. Tinode is published under GPL-3.0, an OSI-approved open-source license.
Is Tinode still maintained?
Its health score is 59 of 100 (actively developed). It had 27 commits in the last 90 days, the latest on 27 September 2026, and its latest release came out on 4 July 2026.
Did Tinode change its license?
Yes. It moved from Apache-2.0 to GPL-3.0 on 8 November 2017.
How do I run Tinode?
You can run it with Docker, as an app for Linux, macOS, Windows, including ARM. The README on GitHub has the exact steps.
What are the alternatives to Tinode?
Close alternatives in the Team chat category include Rocket.Chat, SimpleX Chat, Zulip.