Main features
- Channels where every message belongs to a named topic
- Move messages between topics and mark topics resolved
- Full-text search and permanent links to messages
- Polls, to-do lists, scheduled messages and reminders
- Calls through Zoom, Jitsi or BigBlueButton
- Over 130 native integrations plus webhooks and REST API
- SAML, LDAP, OpenID Connect and social logins
- Guest users, custom groups and per-channel permissions
- Import from Slack, Microsoft Teams, Mattermost and Rocket.Chat
- Web, desktop, mobile and terminal apps
What Zulip does
Zulip is a team chat app with one distinctive idea: inside a channel, every message is filed under a topic, a short subject line much like an email subject. A channel for the engineering team might hold a dozen topics at once, each with its own conversation. People can read one topic at a time, catch up on what they missed without scrolling through unrelated messages, and reply to a discussion from last week without derailing the current one. Messages can be moved between topics and channels, and topics can be marked resolved, which turns chat into a light task tracker.
The model is built for teams that mix live chat with asynchronous work across time zones, and Zulip is widely used by open source projects and research communities as well as companies.
Licensing and editions
The server and web app are Apache-2.0, and Zulip states there is no open-core catch: a self-hosted server has the same features as Zulip Cloud, including SAML, LDAP sync and advanced roles and permissions. The one service that is metered for self-hosters is mobile push notifications, which go through Zulip’s push notification service. The free self-hosted plan covers up to 10 users, or unlimited users for eligible communities such as open source projects, research groups and non-profits; workplaces above that buy a self-hosted plan, which also adds commercial support.
Security and privacy
All clients talk to the server over TLS, and self-hosters can encrypt the database, uploads and backups at rest. Push notification content is end-to-end encrypted, so Apple, Google and Zulip’s push service cannot read message content or metadata. Messages themselves are not end-to-end encrypted, which keeps server-side search, retention policies and compliance exports working. Zulip can also run behind a firewall or on an air-gapped network.
Self-hosting Zulip
Zulip provides an installer for Ubuntu 22.04, 24.04 and 26.04 and Debian 12 and 13, plus an official Docker image, Helm charts and images for DigitalOcean and Render. The installer expects a dedicated machine, because it installs and configures nginx, PostgreSQL, Redis, RabbitMQ and memcached for its own use. Small installs need 1 CPU, 2 GB of RAM and 2 GB of swap; from about 100 users the requirement is 2 CPUs and 4 GB of RAM, with at least 10 GB of free disk. You also need a DNS name and outgoing SMTP credentials.
Importers cover Slack, Microsoft Teams, Mattermost and Rocket.Chat, and Zulip says its Slack importer has handled workspaces with 10,000 members and millions of messages. Organizations can move between Zulip Cloud and their own server with the export and import tools.
Hosted version
Zulip Cloud has a Free plan with 10,000 messages of search history and 5 GB of total file storage, and paid Standard and Plus plans with unlimited history, more storage, SAML SSO and SCIM. Zulip sponsors free Standard plans for many open source projects, academic groups and non-profits.
Limitations
Topics take some getting used to for people coming from Slack, and every message needs one. Zulip has no calling server of its own: voice and video calls open in a configured provider such as Jitsi or Zoom. Workplaces that self-host and want unlimited mobile notifications need a paid plan.
Who it suits
Zulip is a strong fit for distributed teams, open source projects and communities that run many parallel discussions, and for organizations that want a fully open source server without feature tiers. Teams that want Slack’s layout as closely as possible may prefer Mattermost. Compare all options in the team chat guide.
License details
Apache-2.0. The free self-hosted plan includes mobile push notifications through Zulip's push service for up to 10 users (unlimited for eligible communities); larger workplaces pay for that service.
Technical details
Self-hosting needs
- PostgreSQL
- Redis
- RabbitMQ
- memcached
Built with
- Python
- Django
- TypeScript
GitHub topics
- apache
- chat
- collaboration
- electron
- foss
- free
- javascript
- python
- python3
- react-native
- slack
- zulip
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.