chat
SHA-256Open source instant messaging server with federated design, native apps for Android, iOS, Web, and gRPC support.
Smart Download
Download Download Version
v0.25.2 · 36.1 MB
Self-hostable instant messaging server like open-source WhatsApp/Telegram with federated privacy.
Core Features
- One-on-one, group chats and channels
- Voice/video calls and voice messages
- Cross-device message sync
- Rich formatting (Markdown, images, attachments)
- Message status (delivered, read, typing)
What It Can't Do
- •Beta quality: may have minor bugs. Sandbox server resets daily. Web client requires TLS with SNI. Default debug verification code is 123456 (disable in production).
Use Cases
- Private internal chat system for companies or teams
- Alternative to WhatsApp/Telegram with full data control
- Self-hosted replacement for Slack or Microsoft Teams
Detailed Introduction
Tinode is a full-stack instant messaging platform designed to replace XMPP with a modern, federated architecture. The backend is written in pure Go (GPL 3.0), while clients for Android (Java), iOS (Swift), and Web (ReactJS) are available under Apache 2.0. It supports JSON over WebSocket or Protobuf via gRPC. Key features include one-on-one and group messaging, voice/video calls, channels, cross-device synchronization, granular access control, rich formatting, message status notifications, and chatbot support. Tinode emphasizes privacy and decentralization, making it harder to track and block. It is beta-quality but feature-complete and stable. A public demo service is available.
Troubleshooting & FAQ (2)
TroubleshootingWhy does Tinode Docker container fail with 'invalid port ":3306)" after host' error when using MySQL DSN?
This is a known bug in the parsing of the MySQL DSN when a port is explicitly included in the host part (e.g., tcp(mysql:3306)). Workaround: remove the port number from the DSN since 3306 is the MySQL default. Use a DSN like: 'tinode:password@tcp(mysql)/tinode?parseTime=true'. The bug has been fixed in commit f1c4a4b; update to the latest development image if possible.
TroubleshootingWhy does Tinode server return 200 OK when password is shorter than the configured minimum length?
A bug caused the server to swallow the password policy error and delete the incomplete user record without notifying the client. The client would get a 200 OK but the user was not created. This is fixed in the development branch (commit 8678ed8b). Upgrade to the latest version or apply the patch to get a proper 422 policy violation response.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Download latest release or clone the repo
Follow INSTALL.md or docker/README.md to configure and start the server
Connect with official Android/iOS/Web clients and start chatting
- Download latest release or clone the repo
- Follow INSTALL.md or docker/README.md to configure and start the server
- Connect with official Android/iOS/Web clients and start chatting
SHA-256 checksum verified
Checksum extracted from GitHub official Release page
SHA256 Checksum
f05064e6e0a44bb1e5117bb7284fadd51e29589f3a7e55cd6b68be5bbf7f030dThis checksum is extracted from the GitHub Release page. Verify file integrity after download.
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
Remove the server binary, config file, and database (e.g., SQLite file or MySQL database). For Docker, delete the container and image.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
2 FAQs
Similar Projects
syncthing
A continuous file synchronization program that syncs files between devices securely and automatically, with no central server.
Mastodon
Mastodon is a free, open-source social network server that uses the ActivityPub protocol to create a federated network. Users can follow friends, discover new ones, and share links, pictures, text, and video. All servers interoperate seamlessly, forming the Fediverse.
uBlock Origin
uBlock Origin is a wide-spectrum content blocker for Chromium and Firefox that is CPU and memory efficient. Blocks ads, trackers, miners, and malware out of the box.