Skip to content
Helpdesk · head-to-head

Chatwoot vs Zammad

Updated Sep 2026prices checked · Jul 2026
We earn commissions when you shop through the links below. Full disclosure →
Zendesk / yr$300
Self-hosted / yr~$283
You keep$17/yr
Pocket the difference — spin it up on a cheap VPS in minutes.Start free on Kamatera → (opens in new tab)
The verdict

Pick Chatwoot if your customers reach you through website live chat, WhatsApp, Instagram, Facebook, Telegram and email, and you want an Intercom-style inbox with a help center on an MIT core, accepting that SLA policies, custom roles, SSO and Captain AI are paid per agent. Pick Zammad if you are replacing a Zendesk-style ticket desk: email first, with SLAs, time accounting, a knowledge base and LDAP or SAML sign-in all free under AGPL-3.0, on a bigger stack with Elasticsearch.

Side by side

Chatwoot
Zammad
Category
Chatwoot: HelpdeskZammad: Helpdesk
Stack
Chatwoot: Ruby · Rails · Vue · PostgreSQLZammad: Ruby · Rails · PostgreSQL · Elasticsearch
License
Chatwoot: MIT core · paid enterprise/ codeZammad: AGPL-3.0, no paid edition
Min RAM
Chatwoot: 4 GB (upstream minimum)Zammad: 4 GB (Docker docs); 6 GB + 4 GB for Elasticsearch (hardware guide)
Built around
Chatwoot: Real-time conversationsZammad: Tickets with owners, states and SLAs
Channels
Chatwoot: Web chat, email, WhatsApp, Facebook, Instagram, Telegram, LINE, SMS, TikTok, APIZammad: Email, web form, chat, SMS, Telegram, WhatsApp, Facebook, CTI phone
SLAs
Chatwoot: Enterprise Edition onlyZammad: Free
SSO
Chatwoot: SAML in Enterprise Edition onlyZammad: SAML, OpenID Connect and LDAP free
Knowledge base
Chatwoot: Help center portal (free)Zammad: Knowledge base (free)
AI
Chatwoot: Captain (paid; OpenAI)Zammad: Optional; OpenAI, Anthropic, Ollama and others
Install
Chatwoot: Compose: rails, sidekiq, Postgres, RedisZammad: Compose: 10 services incl. Elasticsearch, Memcached, nginx
Difficulty
Chatwoot: 3 / 5Zammad: 3 / 5

Chatwoot and Zammad are the two self-hosted helpdesks most often put forward as a way off Zendesk or Intercom. Both are Ruby on Rails applications on PostgreSQL, both take email and messaging channels into one agent interface, and both publish an official Docker Compose stack. They are still built around different units of work. Chatwoot is built around the conversation: a shared inbox where a website chat, a WhatsApp thread and an email land side by side and agents reply in real time. Zammad is built around the ticket: something with a number, a group, an owner, a state, an SLA clock and time booked against it. Decide which one your support actually runs on, then look at the licence and the free feature set, because that is where the two differ most.

Conversation inbox vs. ticket desk

Chatwoot calls itself "an open-source alternative to Intercom, Zendesk, Salesforce Service Cloud". Its README puts the omnichannel inbox first: "live chat on your website, email, Facebook, Instagram, Twitter, WhatsApp, Telegram, Line, SMS etc." The channel models in the source also include TikTok and a generic API channel for anything else. Around the inbox you get private notes and @mentions, labels, canned responses, auto-assignment, business hours, campaigns, pre-chat forms, a help center portal, and conversation, agent, inbox, team and CSAT reports. The website widget is the core of the product, and it is the part Intercom users will recognise.

Zammad describes itself as a "web-based, open-source helpdesk and customer support platform" for "email, chat, telephone and social media". Its admin documentation lists the channels as web form, email (including Google and Microsoft 365 mailboxes), chat, SMS via Twilio, Facebook, Telegram and WhatsApp. Phone comes through CTI integrations: a generic CTI, Placetel and sipgate. The rest of the admin manual is ticket machinery: groups, roles, overviews, macros, text modules, triggers, schedulers, SLAs with calendars, time accounting, checklists, core workflows (conditional ticket forms), a knowledge base, and LDAP/Active Directory, PGP and S/MIME integrations.

If your support is mostly live chat and messaging apps, with agents answering within minutes, Chatwoot's model fits. If it is mostly email, with escalations, due dates, and a manager who needs to see which tickets breached an SLA, Zammad's model fits.

What the free edition keeps

Chatwoot is open core. Its LICENSE puts everything outside the enterprise/ directory under the MIT (Expat) licence. The enterprise/ directory has its own licence: the code "may only be used in production" with a valid Chatwoot Enterprise License "for the correct number of user seats". Chatwoot's self-hosted pricing page lists what the free Community Edition leaves out: Captain AI, voice calls, custom branding, agent capacity, roles and permissions, SSO/SAML, SLA policies and priority support. Premium Support, at $19 per agent per month, adds all of those except SSO and SLA policies; the Enterprise Edition, at $99 per agent per month, adds those two. The source matches the page: sla, captain_integration, custom_roles, audit_logs and disable_branding are flagged premium: true in config/features.yml. Upstream says Captain "connects to OpenAI's GPT models". The docs also publish -ce image tags (for example v4.18.0-ce) for the "foss version" without the enterprise code.

Zammad has no paid edition. The repository is AGPL-3.0, and the docker-compose README says the software "is and will stay open source", owned by the Zammad Foundation and developed by Zammad GmbH. SLAs, time accounting, the knowledge base, core workflows, LDAP, and SAML and OpenID Connect login all ship in the self-hosted build. Zammad GmbH's self-hosted packages are support contracts, not feature unlocks. Its AI features are optional and take a provider you configure: OpenAI, Anthropic, Azure AI, Mistral, any OpenAI-compatible endpoint, a local Ollama, or Zammad's own hosted AI.

This is the clearest split between the two. The things a Zendesk admin expects as standard (SLA timers, custom roles, SSO) are free in Zammad and paid in Chatwoot.

Footprint and setup

Chatwoot's production compose file runs four services: rails, sidekiq, pgvector/pgvector:pg16 and Redis. Setup is two wgets (the .env template and the compose file), editing secrets and the Postgres and Redis passwords, running rails db:chatwoot_prepare, and docker compose up -d. The compose file points at chatwoot/chatwoot:latest, so pin a version tag yourself. Rails binds to 127.0.0.1:3000 only, so you add the reverse proxy and TLS. The first visit runs an onboarding screen that creates the super admin. Upstream's requirements page calls 4 GB of RAM "the required minimum", good for up to 10,000 conversations a day, recommends 4 CPU cores, and asks for at least 1 GB of swap so upgrades don't run out of memory. It also warns that Sidekiq "can use 1GB+ of memory" on a busy server.

Zammad's stack is bigger. zammad-docker-compose starts the Rails server, a scheduler, a websocket server, nginx, PostgreSQL, Redis, Memcached, Elasticsearch, a backup service and a one-shot init job. You clone the repository at a release tag and run docker compose up -d; nginx listens on port 8080, and a Getting Started wizard creates the first administrator. Elasticsearch needs vm.max_map_count=262144 on the host. Upstream calls it optional but "strongly recommended": without it search is "very limited", and searching the content of email attachments is one of the things it provides. The Docker install page asks for "at least 4 GB of RAM to run the containers". The hardware guide is stricter: a minimum of 2 cores and 6 GB of RAM, plus 4 GB if Elasticsearch runs on the same server, and 6 cores and 6 GB (+6 GB for Elasticsearch) as a starting point for up to 40 agents. For HTTPS, the stack ships scenario files for Nginx Proxy Manager and Cloudflare Tunnel.

We rate both 3 out of 5 to deploy. Neither is hard to start; both need a reverse proxy, a backup plan for PostgreSQL and attachments, and a server bigger than the cheapest VPS tier. Size Zammad above its Docker floor if you keep Elasticsearch on the same box.

Which to choose

Choose Chatwoot if your customers reach you on your website and in messaging apps, you want an Intercom-style chat widget and help center, and the MIT core covers you, or you are prepared to pay per agent for SLAs, custom roles, SSO and Captain AI.

Choose Zammad if you are replacing a Zendesk-style ticket desk: email first, SLAs, time accounting, LDAP or SAML sign-in, and a knowledge base, with nothing held back behind a licence key. Budget more RAM for it.

Choosing between Zammad and Chatwoot

Put the other way round, start with Zammad when tickets and process are the job, and it all has to be free. Move to Chatwoot when real-time chat across WhatsApp, Instagram and your website matters more than SLA reporting.

Not the only two options

If your support is one or two shared email inboxes and you want something far lighter, see Zammad vs FreeScout: FreeScout is a Help Scout-style inbox that runs on plain PHP and MySQL. The other self-hosted helpdesks are listed on the category page.

Common questions

Chatwoot vs Zammad — which self-hosted helpdesk should I pick?

Pick Chatwoot if most support happens in website live chat and messaging apps and you want an Intercom-style shared inbox. Pick Zammad if you run email-first ticket support and need SLAs, time accounting, a knowledge base and LDAP or SAML sign-in without paying for an edition.

Is Chatwoot fully open source?

Its core is MIT. Code in the enterprise/ directory is under a separate Chatwoot Enterprise licence and may only be used in production with a paid licence per agent seat; that is where SLA policies, custom roles, audit logs, SSO and Captain AI live. Upstream publishes -ce image tags that leave the enterprise code out.

Does Zammad have a paid edition with extra features?

No. The whole codebase is AGPL-3.0 and the self-hosted build includes SLAs, time accounting, the knowledge base, core workflows, LDAP and SAML. Zammad GmbH sells hosted Zammad and support packages for self-hosted installs.

How much RAM do Chatwoot and Zammad need?

Chatwoot's requirements page calls 4 GB the required minimum, good for up to 10,000 conversations a day, plus 1 GB of swap for upgrades. Zammad's Docker page asks for at least 4 GB, while its hardware guide sets the minimum at 6 GB plus 4 GB when Elasticsearch runs on the same server. Neither has been measured on this site.

Where to host itaffiliate disclosure
Kamateratrial either on
The entry tier is a free trial — fine for a first look. Size it up (or run the 2 vCPU / 4 GB box the cost figures above assume) once you're keeping it.1 vCPU · 1 GB RAM · 20 GB SSD · $4.00/mo
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Other comparisons with these apps

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.