day3 vs. Buttondown
A Buttondown alternative, priced by sends instead of subscribers.
Buttondown nails minimal, markdown-first newsletters and developers love it. It prices by subscriber count.
| day3 | Buttondown | |
|---|---|---|
| Pricing model | By emails sent each month | By number of subscribers |
| Subscriber limits | Unlimited on every plan | Tiered by subscriber count |
| Product scope | Product updates and transactional email, on purpose narrow | Minimal markdown newsletters |
| Writing the email | Visual composer, plus Markdown from your editor over MCP | Markdown, first-class |
| Transactional email | First-class: one API call, same domain, same allowance | Not the job it's built for |
| Best for | Small SaaS & indie devs | Writers & developers who like markdown |
| Starting price | $1/mo for 1,000 emails | Free tier, then priced by subscribers |
Comparison reflects each product's pricing model and scope, not specific prices, because those change, so always check the latest on Buttondown's own site.
The core difference
day3 shares the minimalism but draws the line differently: priced by sends, with a rich email-safe editor, signup forms, and deliverability built around product updates.
The same numbers, both ways
8,000 subscribers on a weekly letter. Four sends a month, every month.
On day3
$14/mo
32,000 sends a month fits the 50,000-email plan. 8,000 subscribers costs nothing, on this plan or any other.
On Buttondown
Depends
Per-subscriber pricing is set by the 8,000, so a weekly schedule and a monthly one cost the same, which is the case where a subscriber meter can be the better deal. We don't print their price here, because it changes and a stale figure would be worse than none. Check it on their own site and run these numbers through it.
Why teams move to day3
Unlimited subscribers, flat price
Grow the list without watching for the next pricing threshold.
Signup forms included
Hosted pages, embeds, popups, and raw HTML forms, with double opt-in on by default.
Deliverability handled
Authenticated domains, suppression, and one-click unsubscribe with no extra setup.
When Buttondown is the better choice
Stay with Buttondown if a markdown-first flow and a small stable list are exactly what you want, and especially if you send often: a weekly letter to a modest list is the one shape where a subscriber meter can beat a send meter. Stay too if you're monetizing with paid subscriptions or you want public archive pages. day3 pulls ahead as your list grows faster than your sending schedule.
Moving your list across
Five steps, in this order. The first one is the one people skip.
- 1
Bring your suppression list first
Push the addresses that bounced, complained, or asked never to be mailed again before you import a single contact. Do it in this order and day3 refuses those rows on the way in, which is the guard working rather than an error. Do it after and you have a window where a re-import can mail someone who already left.
- 2
Import the contacts
Export your Buttondown subscribers to CSV and import with email, first_name and last_name. Or use the API in batches of 1,000, upserting by email so a re-run is harmless.
- 3
Carry the opt-outs across as opt-outs
Contacts already marked unsubscribed import with that status and the date they left on, so your new tool honours a decision made in your old one. Nobody gets re-subscribed by a migration.
- 4
Verify the sending domain
Connect Cloudflare and day3 publishes DKIM, SPF and DMARC for you, then rechecks until the domain verifies. On another DNS host you get the records to paste. Authenticating the domain you already send from is what keeps your reputation intact through the move.
- 5
Send one real campaign to yourself
A test send goes to addresses you name, through the same pipeline and the same tracking as the real thing. Compare it against your old tool's output before you point the whole list at it.
What doesn't come across
If you write in Markdown and like it, note the shape of the trade: day3's composer is visual, and Markdown reaches it through the MCP server from your editor rather than as a native writing mode in the app. That's a real difference in daily feel, not just a feature checkbox. Buttondown's paid subscriptions and its archive pages also stay behind.
Questions
- Is day3 as simple as Buttondown?
- It's just as focused, since a campaign fits on one screen, while adding signup forms, built-in deliverability, and send-based pricing.
- Can I still write in Markdown?
- Through the MCP server, yes: describe or write the email in Claude Code, Cursor or VS Code and it arrives in day3 as editable composer blocks. It converts back too, so an email finished by hand reads out as Markdown again. But the app's own writing surface is a visual composer, not a Markdown box.
- Which is cheaper, day3 or Buttondown?
- It depends on how often you send. Buttondown's meter is subscribers, day3's is sends, so a big list mailed rarely favours day3 and a small list mailed weekly can favour Buttondown. Divide your monthly sends by your subscriber count: below about one, day3's model is working for you.
Keep reading
- How send-based pricing worksWhat counts as a send, what happens at the monthly cap, and why list size never moves the bill.Read on
- Indie developersEmail your users about what's new, without paying per subscriber or learning a marketing platform. Built for a team of one.Read on
- Signup formsOne form, four ways to install it: hosted, embedded, popup, or raw HTML. Double opt-in keeps your list clean from day one.Read on
- APIOne REST API for your app's transactional email, your audiences, and your campaigns, plus an MCP server that turns your AI editor into a composer. Built so migrating from another provider is one script and staying in sync afterwards is a webhook handler.Read on
- day3 vs EmailOctopusEmailOctopus is a friendly, affordable email tool that still prices by the number of subscribers on your list.Read on
- PricingNine plans from $1/mo for 1,000 emails to $220/mo for 1,000,000. Unlimited subscribers on all of them.Read on