Zulip self-hosted free vs paid plans

Zulip's self-hosted server has no open core split, so the free Community plan includes every feature. Paid plans add support and mobile push notifications for larger teams, and this page explains when they are worth it.

On this page

When is the free Zulip Community plan enough for self-hosted Zulip?

The free Community plan is enough for many self-hosting teams because it includes every feature, and the self-hosted server is the same software Zulip Cloud customers use, with no open core restrictions. SAML, LDAP and custom roles do not require a paid plan. What the paid plans add is vendor support, email and chat support for the paid tiers, and unlimited mobile push notifications. The Community plan limits mobile push notifications to 10 users for most organizations, so that limit is the main variable in the decision. The question is less about features and more about support and mobile reach.

The free plan fits a team with in-house operators who can run Ubuntu or Debian servers, or a Docker deployment, and who can handle upgrades on their own schedule. It also fits an organization where most members read Zulip on desktop or web, or where a small mobile group is acceptable and the rest of the staff can accept the push notification cap. Confirm the exact push rule for your organization on the Zulip plans page before you commit, since the limit depends on how the plan applies to your user count.

A paid plan becomes the more defensible choice when your procurement or security policy requires a vendor support contract, when a large mobile user base needs push notifications for all members, or when you need a documented support channel for incident response. The Business plan at $6.67 per user per month billed annually, or $8 billed monthly, carries a 25-user minimum and adds the SAML, AD/LDAP sync and data export items the plan page lists. Ask Zulip for a written quote, confirm which support response terms apply to each tier, and budget for recurring per-user charges that grow with headcount.

Who should pay for Zulip support, and who should not

Teams that already run Linux servers, manage a reverse proxy and operate a PostgreSQL database usually do not need a vendor to keep Zulip running. The self-hosted server is the same software Zulip Cloud customers use, and the Community plan includes every feature, including SAML, LDAP and custom roles. The question is whether your own staff can absorb upgrades and incidents without a contracted path.

  • Free plan fits when: your engineers can follow the production documentation for LDAP, SAML and SCIM and test them before they go live.
  • Paid plan matters when: nobody on the team can take a failed upgrade at night and a written response time is a requirement.
  • Paid plan adds little when: your identity provider and directory are already stable and your staff has run similar services before.
  • Check upgrade cadence: Zulip Server 12.3 followed 12.0 in the published release history, so plan a regular upgrade routine on your own schedule.
  • Check backups: restore testing is your responsibility under the free plan, and the paid tiers do not remove the need to rehearse it.

Before you decide, ask your team to restore a backup to a test host and complete an SSO login through your identity provider. If both work without vendor help, the free Community plan is likely sufficient for this situation.

What Community, Basic, Business and Enterprise include

This table sets out what each self-hosted Zulip plan includes, with the published per-user prices and the limits that apply. Read it by first checking whether your push notification needs and support requirements justify a paid plan, since every feature is available on the free Community plan.

CapabilityCommunity (free)Basic, Business and Enterprise
Core features and SAML, LDAP and custom rolesAll features included, per Zulip's self-hosting pageSame features; paid plans add support and notifications, not a feature gate
Mobile push notificationsLimited to 10 users for most organizationsBasic: unlimited mobile notifications (per the Zulip plans page)
Published per-user priceNo charge for the softwareBasic: $3.50 per user per month, billed monthly; Business: $6.67 billed annually or $8 billed monthly, 25-user minimum; Enterprise: custom
Support channelCommunity support; confirm current channels with ZulipBusiness: email and chat support; confirm the Basic and Enterprise support terms with Zulip
AD/LDAP sync and data exportsAvailable as part of the full feature set on the self-hosted serverBusiness lists AD/LDAP sync and data exports as plan items; confirm what changes per plan
SCIM provisioningDocumented in production docs for self-hosted servers; confirm your version supports your IdPSame documented feature; confirm whether plan tier affects support for it
Keycloak and Authentik SAML guidesSetup guides available to all self-hosted operatorsSame guides; paid support may help during setup, so confirm scope in writing
Pricing model of the server itselfSame software Zulip Cloud customers run, with no open core restrictionsPlans bill per user, so cost rises with headcount; ask Zulip for an Enterprise quote if above the Business minimum

How Zulip licensing and support differ across editions

Zulip's server code carries one open-source license, and the paid tiers change support, notifications and administration features around that code rather than the code itself. The four cards below separate the license, the free Community terms, what Basic and Business add, and what Enterprise adds, so you can check each one against your own requirements.

Apache License 2.0 for the server

The Zulip server code is released under the Apache License 2.0, and that license does not change between editions. Self-hosting on the Community plan, Basic, Business or Enterprise gives you the same server software, so the decision you make about plans is a decision about support, notifications and contracts, not about whether you may run, modify or redistribute the code. Confirm with your legal team how the Apache terms fit any internal forks or patches you plan to maintain.

Community plan terms and push limit

The free Community plan includes all Zulip features on your own server, but mobile push notifications are limited to 10 users for most organizations. If your deployment has more users who need push alerts on their phones, the limit affects them directly. Ask Zulip how the limit applies to your organization type before you roll out, because eligibility rules set the terms, and read the current Community terms on the plans page before you commit.

What Basic and Business add

Basic removes the push notification limit and is priced per user per month, billed monthly. Business adds email and chat support for SAML, AD/LDAP sync and data exports, with a 25-user minimum and annual or monthly billing options. Both paid tiers are subscriptions, so the cost recurs with your headcount. Check the current published per-user rates and minimums on the plans page, and ask whether any terms change at renewal.

What Enterprise adds under custom terms

Enterprise pricing is set by quote rather than published, so the scope of support, service levels and contract terms must be written into your order form. Ask Zulip to list exactly which support channels, response expectations and deployment assistance are included, and whether these items recur annually. Compare that written scope with what your own platform team can handle in-house before you accept a quote.

Why the free edition covers most enterprise feature needs

Zulip self-hosting carries no open core restrictions. Zulip's self-hosting page states that the self-hosted server is the same software Zulip Cloud customers run, so identity features are not gated behind a paid plan. SAML, LDAP and custom roles are available on the free Community plan. For identity architects, this changes the question. The server you deploy can authenticate against your existing directory and identity provider from day one, without first buying a higher tier to get single sign-on working. The identity surface is broad. Zulip's production documentation covers LDAP including Active Directory with data synchronization, SAML including IdP-initiated SSO and Single Logout, and SCIM. Setup guides exist for Keycloak and Authentik as SAML identity providers. Those guides are a practical starting point: stand up a test Keycloak or Authentik realm in a non-production environment, map a pilot group of users, and confirm that Single Logout ends sessions as your policy requires before you commit to a design. Confirm with your own identity team which of these flows match your current directory layout, since the documentation describes the options but not your environment.

Because the features are the same on every tier, the paid decision moves to three areas: support, mobile push notifications and procurement. The Community plan limits mobile push notifications to 10 users for most organizations, so the notification question is a sizing exercise. Count the users who need push on mobile before assuming the free edition is enough. Support is the second area. Basic, Business and Enterprise add support channels and, for Business and above, the SAML, AD/LDAP sync and data export features are listed with email and chat support. Ask your procurement team whether an invoiced subscription, a named support contact or a contract is required by your internal policy, even if the software itself is free. The practical risk is treating the free edition as a reason to skip planning. Self-hosting shifts the operating work to your team: upgrades, database backups, certificate rotation and directory connectivity remain yours unless you contract them out. Before go-live, document which identity features you will enable, who owns the IdP configuration, and what support path you need when an authentication flow breaks.

What each Zulip self-hosted plan costs per user

This table sets the published Zulip self-hosted plan prices beside the costs the plan price does not cover. Read the license rows for what you pay Zulip, and the operating rows for the recurring work your own team or partner carries on the servers.

Plan or costPublished price or driverRecurring or one-time
Community (free)No license fee. Includes all features, with mobile push notifications limited to 10 users for most organizations (Zulip plans page)No license fee; operating costs recur
Basic$3.50 per user per month, billed monthly, with unlimited mobile push notifications (Zulip plans page)Recurring, per user
Business$6.67 per user per month billed annually or $8 billed monthly, 25-user minimum, adds email and chat support for SAML, AD/LDAP sync and data exports (Zulip plans page)Recurring, per user, with a minimum
EnterpriseCustom pricing. Confirm scope, support terms and user count directly with ZulipRecurring, quoted
Servers and hostingCompute, storage, backups and network for the Zulip server, sized by your user count and traffic. Ask your hosting provider for a quoteRecurring
Upgrades and maintenanceApplying new Zulip Server releases, such as 12.3 published September 21, 2026, and testing them against your integrationsRecurring staff or partner time
Backups and recovery testingDatabase, uploads and configuration backups, plus restore tests you run on a scheduleRecurring
Staff or partner timeAdministration, SSO and user lifecycle work, and support for users. Estimate this from your own team's capacityRecurring, usually the largest item

Moving from the Community plan to a paid Zulip plan

This sequence shows how a self-hosted team confirms whether it needs a paid plan, picks the right tier, and changes plans without reinstalling or moving data off its own servers.

  1. Count active users against the 10-user push limit

    The team owner or IT lead counts the users who need mobile push notifications on the self-hosted server. The Community plan includes every feature but limits mobile push notifications to 10 users for most organizations, so this count decides whether the free plan is enough. Confirm the rule for your organization type on the Zulip plans page before you finalize the number. The step is complete when you have a written count and a yes or no on whether the limit affects your users.

  2. Decide whether Business features are required

    Collect the requirements from security, identity and support owners. Business adds email and chat support for SAML, AD/LDAP sync and data exports, so a team that needs vendor-backed help with SSO or directory sync should evaluate it. A team that only needs the features already in the Community plan may not need to pay for these items. Record the decision and the reason, since this is the point where procurement usually asks for justification. The step is complete when the requirements list is signed off by the people who own identity and support.

  3. Confirm the Business minimum and per-user cost

    Before budgeting, check the published Business terms with Zulip. The Business plan is priced per user, with a 25-user minimum, and the published rate depends on whether you pay annually or monthly. Ask finance to model the annual and monthly options against your confirmed user count and the minimum, since the minimum can change the result for small teams. The step is complete when finance has a figure from the current price list, not from an older document.

  4. Request an Enterprise quote with written scope

    If you need custom terms, such as contract language, procurement conditions or support levels beyond Business, request a quote from Zulip for the Enterprise plan. Enterprise pricing is custom, so ask for written scope covering users, support commitments, notification needs, term length and any onboarding items. Compare the quote with the Business option in writing. The step is complete when you hold a signed or approved quote that lists the scope and the terms in one document.

  5. Switch the plan without changing the server software

    A plan change is a licensing and entitlement change. The self-hosted server runs the same software under the Community or paid plans, so the team does not reinstall Zulip, rebuild the database or move to a new host. Your administrator applies the plan in the account the vendor uses for billing and confirms the change with Zulip's plan documentation. The step is complete when the administrator can see the new plan on the account and the users report that push notifications and support entitlements work as the quote describes.

  6. Verify plan entitlements on your own server

    After the switch, test the features your plan now covers. For example, confirm that mobile push notifications reach users beyond the 10-user limit, and that SAML or LDAP sync works with your identity provider. Run these checks in a staging or test realm first if your team has one. Record the results and keep them with the change request. The step is complete when each entitlement you paid for has a recorded test result.

  7. Plan the reverse move and keep data on your servers

    Moving back to the Community plan is also a plan change, not a data migration. Your server software stays the same and the messages, files and user data remain on your own servers throughout both directions. Confirm the downgrade terms with Zulip in writing, including what happens to features your team relies on, such as push notifications and support, before you change anything. The step is complete when the downgrade terms are documented and the owner knows that no data export is required for a plan change.

Questions buyers ask before paying for Zulip support

Do I need a paid Zulip plan to use SAML or LDAP?

No. Zulip's self-hosting page says the self-hosted server is the same software Zulip Cloud customers use, with no open core restrictions, so SAML, LDAP and custom roles are available without a paid plan. Zulip's production documentation covers LDAP including Active Directory with data synchronization, and SAML including IdP-initiated SSO and Single Logout, with setup guides for Keycloak and Authentik. The paid Business plan adds email and chat support for SAML, AD/LDAP sync and data exports. Paying for that plan buys vendor support and those extras, not the protocols themselves. Confirm your exact directory and IdP setup against the production documentation before you sign.

What does the free Zulip Community plan limit?

The Community plan includes every feature, but it limits mobile push notifications to 10 users for most organizations. Beyond that group, mobile notifications are the main gap to plan around. The paid Basic plan removes that limit with unlimited mobile notifications, and it is priced per user per month, billed monthly, according to the Zulip plans page. Check whether your organization falls under the standard 10-user rule, since the limit depends on how the plan terms apply to your case. Ask Zulip to confirm the notification terms for your user count before you rely on push for a larger group.

What drives the total cost of self-hosting Zulip beyond the plan price?

The published plan prices cover only the Zulip subscription, not the infrastructure or the people who run it. Your costs usually fall into four groups: hosting for the server, database and storage; upgrades across each Zulip release; backups and restore testing; and staff time for monitoring, identity administration and incident response. Hosting and staff time recur every month, while setup and the first migration are mostly one-time. Hosting size depends on user count, file volume and your backup policy. When you request a quote, ask for each of these items in writing and state which party owns each one, so you can compare it with the Cloud option on equal terms.

How long does it take to move a Zulip deployment between plans?

No duration is published for moving between Zulip plans, so confirm the timing with Zulip before you plan a change window. Switching between the Community and paid self-hosted plans is primarily a subscription change, but you should confirm what it needs on your side, such as updated billing details, user counts, and any change to notification or support settings. Plan the change around your own maintenance process, including a backup taken before the switch and a test of your identity integration afterward. Ask Zulip in writing what the change requires and how long it takes.

Can my team run Zulip ourselves, or do we need outside help?

Your team can run Zulip itself if it has working skills in Linux administration, Docker, database operations and identity integration. The README describes direct installs on Ubuntu or Debian, Docker through docker-zulip, and prebuilt images for DigitalOcean and Render, so the path depends on what your platform team already runs. If those skills are thin, or if you need upgrades, backups and monitoring handled on a fixed schedule, outside help is an option. DeployOpen plans, implements, integrates, hardens, backs up, upgrades and documents self-hosted platforms in your own infrastructure. Its scope is agreed in writing before work starts, and ongoing support is available as a retainer.

Which skills and infrastructure does a self-hosted Zulip team need?

A self-hosted Zulip team needs people who can operate a Linux server, manage a database, configure TLS, and keep the software current. Identity work is a separate skill: SAML and LDAP setups depend on your IdP or directory, and you need someone who can test login, group sync and single logout. Storage, backup and restore procedures are your responsibility, not a feature of the plan. Before committing, ask a Zulip contact which supported operating system, database and Docker versions apply to the release you intend to run, and confirm them against the self-hosting page and the current release notes.

Does paying for Zulip support change who is responsible for security?

A support plan does not transfer responsibility for your server, your data or your configuration. You still own the operating system patching, network exposure, TLS certificates, backup encryption and access control to the host. Zulip's paid support helps with product questions and identity configuration, but it is not a managed security service for your environment. If your organization needs independent review of its deployment, DeployOpen runs security testing and prepares systems and evidence for compliance assessments, though it does not issue audit reports or certifications. Ask any vendor exactly which layers their support covers in writing.

Bringing existing chat history from Slack, Mattermost or Rocket.Chat

Zulip's help center documents import paths from Slack, Mattermost and Rocket.Chat, and these are part of the product rather than a feature reserved for a paid tier. Because the self-hosted server runs the same software as Zulip Cloud, a team on the free Community plan can import history into its own server without buying Basic or Business. The plan choice affects mobile push notifications, support and SSO-related administration, not whether the import tools exist. Confirm the current steps on the help pages for Slack, Mattermost and Rocket.Chat before you plan, since the procedure, supported export formats and required admin access can change between releases.

The effort depends on three drivers. The first is history volume: the size of the export, attachments and years of messages determines how long the import runs, how much disk the server needs and how much you must check afterward. The second is user mapping. Imported accounts must match people who will sign in through your identity provider, so decide early whether emails and names will line up with your SAML or LDAP directory, since mismatches create duplicate accounts. The third is channel-to-topic restructuring. Slack channels and Mattermost channels do not map one to one onto Zulip streams and topics, so a team should decide which streams will hold old conversations and whether threads need manual regrouping. Run a trial import on a copy of the export into a non-production Zulip server, then have a few users check message order, attachments, reactions and private conversations. Ask your Zulip or implementation partner to confirm which parts of the export the importer handles and which need manual cleanup, and record that in the migration plan. This is also the point to agree who signs off on the cutover, and whether old tools stay read-only for a defined period.

How DeployOpen scopes and supports a self-hosted Zulip

DeployOpen plans, implements, integrates, hardens, backs up, documents and supports self-hosted open-source platforms inside your own infrastructure, including self-hosted Zulip. We start from your plan tier, identity setup and notification needs, then agree the scope in writing before any work begins.

How we scope

  • Confirm the number of users and whether you need unlimited mobile push notifications or fewer than the Community limit.
  • Agree in writing which identity integrations apply, such as SAML, LDAP or Active Directory sync, and which IdP is in use.
  • Define deliverables and timelines before work starts, since most engagements are fixed-scope with agreed deliverables.

How we build

  • Install and configure the Zulip server in your cloud account, data center or air-gapped network, using the deployment method you choose.
  • Configure SSO, user provisioning and data import from your previous chat tool where a documented import path exists.
  • Test authentication, notifications, backups and upgrade steps against the written scope before handover.

How we hand over

  • Document the deployed architecture, configuration decisions, plan tier and the licensing terms that apply to your user count.
  • Provide runbooks for backups, restores, Zulip version upgrades and user administration tasks your team will own.
  • Walk your administrators through the handover so your team can operate the server without DeployOpen on call.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer, scoped separately from the initial engagement.
  • Confirm with Zulip which support tier, such as Basic or Business, you need, since DeployOpen does not resell Zulip plans.
  • Agree in the retainer how upgrades to new Zulip server releases are tested and scheduled in your environment.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.