
Who listmonk is for#
Open source projects with large mailing lists
If you maintain an open source project with thousands of users who subscribe to release announcements, security updates, or newsletters, listmonk eliminates the recurring cost of per-subscriber pricing. You can self-host it on existing infrastructure and send unlimited emails without paying for growth.
Skip if:
Your list is under 500 subscribers and you do not mind paying for a managed service. At that scale, the cost of Mailchimp or ConvertKit is low enough that the simplicity of managed hosting may be worth the price.
SaaS companies sending transactional and marketing emails
listmonk supports both campaign emails and transactional messages through the same platform, which means you can send newsletters, product updates, password resets, and receipts from one tool. The API integration is straightforward, and the resource footprint is low enough to run alongside your application backend.
Skip if:
Your transactional email volume is low and you already use a service like SendGrid or Postmark. Migrating to listmonk only makes sense if you want to consolidate tools or if your combined email volume justifies self-hosting.
Media publishers and content creators with privacy requirements
For publishers who need GDPR-compliant self-hosting, full subscriber data ownership, or the ability to keep mailing lists in specific geographic regions, listmonk gives you complete control. The subscriber privacy controls, double opt-in support, and exportable subscriber data meet strict compliance requirements.
Skip if:
You do not have privacy or data residency requirements. If GDPR compliance is not a concern and you are comfortable with third-party data storage, a managed platform is simpler to operate.
Teams already managing their own infrastructure
If you already run PostgreSQL, manage your own SMTP servers, and have DevOps experience, listmonk integrates cleanly into your stack. The single binary deploys like any other service, the API matches standard REST patterns, and the Docker setup is a single `docker-compose.yml` file.
Skip if:
You have no server infrastructure and prefer not to manage it. listmonk requires PostgreSQL and SMTP configuration, so if you are starting from zero, a managed platform like Mailchimp will be faster to set up.
The problem it solves#
Email marketing platforms charge per subscriber, making large mailing lists expensive. A 10,000-subscriber list costs $75 to $150 per month on Mailchimp or ConvertKit, and scaling beyond that becomes prohibitively costly. You also lose control over deliverability, data ownership, and compliance with privacy regulations when your subscriber data lives on a third-party platform.
Self-hosting alternatives often come with their own pain: slow sending speeds, high memory usage, or complex multi-service architectures that require Redis, background workers, and manual queue management. For teams who need to send transactional emails alongside newsletters, most tools force you to use separate services or pay for multiple products.
How it solves it#
Multi-threaded, high-throughput email queues
listmonk uses parallel SMTP sending with support for multiple SMTP servers, sliding window rate limiting, and fine-grained control over throughput. A production instance can send 7+ million emails using a fraction of a single CPU core with peak RAM usage of 57 MB. This makes it one of the most resource-efficient email tools available.
Powerful Go templating for dynamic emails
Build personalized campaigns with the Go templating language, which supports logic, conditionals, loops, and 100+ functions in both subject lines and email content. You can reference subscriber attributes, inject dynamic data, and create complex personalization rules without external tools.
Drag-and-drop, WYSIWYG, Markdown, and HTML editors
Design emails with a visual drag-and-drop builder, a WYSIWYG editor, Markdown for plain-text-friendly campaigns, or raw syntax-highlighted HTML for full control. This flexibility lets you match your workflow instead of forcing a single design approach.
Built-in analytics and campaign performance tracking
Visualize campaign performance, bounce rates, and top-clicked links directly in the dashboard. Analytics are stored in PostgreSQL, so you own the data and can query it directly for custom reporting or integration with other tools.
Transactional email API
Send arbitrary transactional messages to subscribers using pre-defined templates via a simple API. This lets you use listmonk for both marketing campaigns and application-triggered emails like password resets, receipts, or notifications without maintaining a separate service.
Messenger webhooks for SMS, WhatsApp, and FCM
Extend listmonk beyond email with HTTP webhooks that send SMS, WhatsApp messages, Firebase Cloud Messaging notifications, or any other message type. This makes it a multi-channel messaging platform, not just an email tool.
Strengths and trade-offs#
Strengths
- Single binary with minimal resource footprintlistmonk compiles to a standalone binary with no runtime dependencies beyond PostgreSQL. It runs on any server, VM, or container with nominal CPU and memory usage. A production instance sending millions of emails uses less than 60 MB of RAM at peak, making it viable on even the smallest VPS.
- AGPL-3.0 license with full source accessThe AGPL license ensures that any modifications you make remain open source if you run a modified version as a service. For internal use or unmodified deployments, this gives you full access to the codebase with no restrictions. Unlike proprietary platforms, you can audit the sending logic, customize the dashboard, or fork the project entirely.
- Extensive API coverage for automationEvery feature in the dashboard is exposed via the API, including subscriber management, campaign creation, list queries with SQL expressions, and analytics retrieval. This makes it easy to integrate listmonk into existing workflows, automate list imports, or trigger campaigns from external systems.
- Active development and 22,000+ GitHub starsWith 22,728 stars, 2,497 forks, and a last push on 2026-08-12, listmonk has strong community health and active maintenance. The project is not at risk of abandonment, and the contributor base is large enough to support long-term stability.
Trade-offs
- -Requires PostgreSQL as a dependencylistmonk uses PostgreSQL for subscriber data, campaign history, and analytics storage. While this is a single dependency and well-documented in the setup process, it means you cannot run listmonk as a truly zero-dependency binary. If you do not already have PostgreSQL infrastructure, you will need to set it up or use the provided Docker Compose configuration that handles this automatically.
- -SMTP deliverability is your responsibilityUnlike managed platforms like Mailchimp that optimize deliverability through shared IP reputation and automated warming, listmonk requires you to configure and maintain your own SMTP servers. You are responsible for domain authentication (SPF, DKIM, DMARC), IP warming, and bounce handling. For teams without email infrastructure experience, this is a steeper learning curve than a plug-and-play SaaS.
- -No built-in subscriber acquisition toolslistmonk manages and sends to existing subscriber lists but does not include landing page builders, popup forms, or lead magnets like ConvertKit or Mailchimp. You will need to integrate a separate signup form tool or build your own subscription flow that posts to the listmonk API.
listmonk vs alternatives#
Oops! Something went wrong
[next-mdx-remote-client] error compiling MDX: Unexpected character `6` (U+0036) before name, expected a character that can start a name, such as a letter, `$`, or `_` More information: https://mdxjs.com/docs/troubleshooting-mdx
Install and self-host#
listmonk supports Docker and standalone binary installation on Linux, macOS, Windows, FreeBSD, NetBSD, and OpenBSD.
**Docker (recommended):**
Download the sample `docker-compose.yml` file and start the services in the background. This automatically sets up PostgreSQL and listmonk.
```bash
# Download the compose file to the current directory
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml
# Run the services in the background
docker compose up -d
```
Visit `http://localhost:9000` to access the dashboard.
**Standalone binary:**
Download the latest release binary for your platform, generate the configuration file, set up the PostgreSQL database, and start the service.
```bash
# Generate config.toml
./listmonk --new-config
# Edit config.toml with your PostgreSQL connection details
# Set up the database (or --upgrade to upgrade an existing DB)
./listmonk --install
# Start listmonk
./listmonk
```
The service runs on `http://localhost:9000` by default. See the [installation docs](https://listmonk.app/docs/installation) for detailed PostgreSQL configuration and SMTP setup.What it's built on#
- Languages
- GoJavaScriptTypeScript
- Frameworks
- ReactVue
FAQ#
Is listmonk free to use?
Yes. listmonk is AGPL-3.0 licensed and free to self-host on your own infrastructure. There are no per-subscriber fees, no usage limits, and no paid tiers. The only costs are your server hosting and SMTP service if you use a third-party provider for sending.
Can I self-host listmonk easily?
Yes. The Docker setup takes under 5 minutes using the provided docker-compose.yml file, which includes PostgreSQL and listmonk in one command. For bare-metal installs, download the binary, generate a config file with ./listmonk --new-config, run ./listmonk --install to set up the database, and start the service. The only prerequisite is PostgreSQL.
What is the difference between listmonk and Mailchimp?
listmonk is self-hosted and has no per-subscriber pricing, while Mailchimp is a managed SaaS with per-subscriber fees. listmonk gives you full control over SMTP configuration, subscriber data, and email infrastructure, but you are responsible for deliverability and server maintenance. Mailchimp handles deliverability optimization and server management for you, but you pay monthly as your list grows and your data lives on their platform. For high-volume senders or teams with privacy requirements, listmonk is the better choice. For small lists or teams without infrastructure, Mailchimp is simpler.
Does listmonk support transactional emails?
Yes. listmonk includes a transactional email API that lets you send arbitrary messages to subscribers using pre-defined templates. This makes it suitable for both marketing campaigns and application-triggered emails like password resets, receipts, or notifications. You can replace both a newsletter tool and a transactional email service with listmonk.
What are the system requirements for running listmonk?
listmonk is a single binary with a minimal resource footprint. A production instance sending 7+ million emails uses a fraction of a single CPU core and peaks at 57 MB of RAM. The only infrastructure dependency is PostgreSQL for subscriber data and analytics storage. You can run it on a small VPS, a cloud VM, or a Docker container with 1GB of RAM and 1 CPU core for most use cases.
Similar open-source tools#
CLI-Anything
Empower AI agents with agent-native CLIs
Pixelfed
Fediverse photo sharing: no central platform, fully user-owned
openship
Self-hosted deployment platform with built-in CI/CD
ODS
Turn any computer into a private AI server
agency-agents
Expert AI agent personalities for every workflow
open-seo
Open source alternative to Semrush and Ahrefs

