How to Migrate from Mailchimp to Listmonk
How to Migrate from Mailchimp to Listmonk
Mailchimp's free plan now limits you to 500 contacts. Paid plans start at $13/month and scale to $350+/month for larger lists. Listmonk is a blazing-fast, self-hosted newsletter manager that handles millions of subscribers on a $5 VPS.
Step 1: Export from Mailchimp
- Go to Audience → All contacts
- Click Export Audience → Export as CSV
- Download the CSV file
The export includes: email, name, subscription status, tags, merge fields, signup date.
Step 2: Deploy Listmonk
# Docker — running in 2 minutes
mkdir listmonk && cd listmonk
# Download config
curl -o config.toml https://raw.githubusercontent.com/knadh/listmonk/master/config.toml.sample
curl -o docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
# Edit config.toml with your SMTP settings
# Start
docker compose up -d
# Initialize database
docker compose run --rm app ./listmonk --install
Access at localhost:9000 — default login: listmonk / listmonk.
Step 3: Configure SMTP
You need an SMTP provider to send emails. Options:
| Provider | Free Tier | Cost at Scale |
|---|---|---|
| Amazon SES | 62K emails/month (free tier) | $0.10/1000 emails |
| Resend | 3K emails/month | $20/month for 50K |
| SendGrid | 100 emails/day | $15/month for 50K |
| Mailgun | 1K emails/month | $15/month for 50K |
| Brevo | 300 emails/day | $9/month for 5K/day |
Configure in Listmonk → Settings → SMTP:
[smtp]
host = "email-smtp.us-east-1.amazonaws.com"
port = 587
auth_protocol = "login"
username = "YOUR_SES_KEY"
password = "YOUR_SES_SECRET"
tls_type = "STARTTLS"
Step 4: Import Subscribers
- Go to Listmonk → Subscribers → Import
- Upload your Mailchimp CSV
- Map columns: email → email, name fields → name
- Select the mailing list to add subscribers to
- Choose: Subscribe (active) or Block listed (unsubscribed)
Important: Only import subscribers who are subscribed (status = "subscribed" in the CSV). Don't import unsubscribed users.
Step 5: Create Templates
Listmonk supports HTML templates with Go templating:
<!-- Simple newsletter template -->
<html>
<body style="font-family: sans-serif; max-width: 600px; margin: 0 auto;">
<h1>{{ .Subject }}</h1>
{{ .Body }}
<hr>
<p style="font-size: 12px; color: #666;">
<a href="{{ .UnsubscribeURL }}">Unsubscribe</a>
</p>
</body>
</html>
Step 6: Recreate Automations
| Mailchimp Feature | Listmonk Equivalent |
|---|---|
| Welcome email | Campaign with "on subscribe" trigger |
| Regular campaigns | Campaigns (manual send) |
| A/B testing | Not available (manual approach) |
| Audience segments | Lists + SQL-based segments |
| Tags | Subscriber attributes (JSON) |
| Templates | HTML templates |
| Analytics | Open/click tracking |
| Landing pages | Not included (use external) |
Step 7: Set Up DNS Records
Configure for deliverability:
# SPF
v=spf1 include:amazonses.com ~all
# DKIM — from your SMTP provider
# DMARC
_dmarc.yourdomain.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com"
Cost Comparison
| Subscribers | Mailchimp | Listmonk + SES | Savings |
|---|---|---|---|
| 1,000 | $13/month | $5/month (VPS) | $96/year |
| 5,000 | $60/month | $6/month | $648/year |
| 10,000 | $100/month | $7/month | $1,116/year |
| 50,000 | $350/month | $10/month | $4,080/year |
| 100,000 | $800/month | $15/month | $9,420/year |
Listmonk cost = VPS + SES sending fees (~$0.10/1000 emails)
What You'll Lose
- Drag-and-drop email builder — Listmonk uses HTML templates
- A/B testing — not built-in
- Landing pages — not included
- Pre-built automations — limited automation support
- Audience insights/predictions — not available
What You'll Gain
- No subscriber limits — handle millions
- No sending limits — limited only by SMTP provider
- Full data ownership — subscribers on your server
- Blazing performance — Go binary, 50 MB RAM
- SQL-powered segments — more powerful than Mailchimp's UI
- $0 software cost — just hosting + SMTP
Compare newsletter tools on OSSAlt — features, deliverability, and self-hosting options side by side.