Buttondown
Search
Pricing
Log in
Build your newsletter
Sign up
Loading...
Buttondown is the
last
email platform you’ll switch to.
Get started for free
Mastodon
Threads
Bluesky
Facebook
About
Blog
Testimonials
Docs
Features
Integrations
Alternatives
Guides
Climate
Brand guidelines
Kudos
Terms of service
Use cases
Privacy policy
Customer support
Open source
© 2026 Buttondown. All rights reserved; have a lovely day.
Blog
Buttondown's engineers, writers, and biggest fans write about the whole thing: engineering challenges, useful tips and tricks, new features, and more.
Subscribe to RSS
Blog
Product updates
Customer stories
Behind the scenes
Two new archive themes
Justin Duke
January 10, 2026
Introducing Arbus and Lovelace, two new ways to style your newsletter's web presence.
Custom buttons now work in Markdown mode
Mary
January 9, 2026
A simpler format for custom buttons that works everywhere.
Ryan Farley
January 9, 2026
Ask a Nerd: Does attaching files to your newsletter hurt deliverability?
Seline and Tinylytics support
Justin Duke
January 8, 2026
Two new privacy-friendly analytics integrations for your archives.
Unban subscribers
Justin Duke
January 4, 2026
You can now unban subscribers directly from the UI.
Justin Duke
January 2, 2026
Add a prominent message at the top of your archive pages.
Matthew Guay
January 2, 2026
Bang paths, source routing, and how email trips were planned
Public postmortem: archive downtime
Justin Duke
January 2, 2026
Public postmortem: archive downtime
2025
Justin Duke
December 25, 2025
2025
disposables.app
Justin Duke
December 21, 2025
A tiny tool for checking if an email domain is disposable.
Russian localization
Steph
December 20, 2025
Russian localization
Ryan Farley
December 19, 2025
Ask a Nerd: Can you improve email deliverability with a personal domain?
More locale options
Mary
December 18, 2025
New English locale variants for UK, Australia, and Canada.
Nickd
December 17, 2025
How we interview customers at Buttondown
Bluesky analytics
Justin Duke
December 14, 2025
Track your Bluesky follower count over time
Justin Duke
December 12, 2025
You can now reply directly to subscriber conversations from your inbox.
Matthew Guay
December 12, 2025
Minimum viable complexity
Asharee Peters
December 9, 2025
Jeffery Hicks goes behind-the-scenes in his newsletter
Justin Duke
December 8, 2025
Changes to our stack in 2025
Justin Duke
December 7, 2025
2026: Emails
Mary
December 5, 2025
Never accidentally send an email with placeholder text again.
Randomize survey answer order
Mary
December 5, 2025
Surveys can now randomize answer order to avoid position bias in responses.
Matthew Guay
December 5, 2025
What the hell is a UTM?
Why we insourced analytics
Justin Duke
December 3, 2025
Why we insourced analytics
Scroll sync in the editor
Matias Artopoulos Kozak
December 1, 2025
Scroll sync in the editor and preview
2026: Archives
Justin Duke
December 1, 2025
2026: Archives
Asharee Peters
December 1, 2025
How Jamie Thingelstad uses Buttondown
Asharee Peters
December 1, 2025
How Kelly Jensen uses Buttondown
Matthew Guay
November 28, 2025
Keeping feature creep at bay
Improved filters
Mary
November 28, 2025
Improved filters across the app
Matias Artopoulos Kozak
November 25, 2025
A stricter CSP to make your subscribers' experience safer.
Justin Duke
November 24, 2025
Sniperl.ink is now open source
Auto-activating RSS reader subscriptions
Justin Duke
November 22, 2025
RSS reader subscriptions now skip double opt-in for a smoother signup experience.
Matthew Guay
November 21, 2025
What the hell is ActivityPub?
Justin Duke
November 19, 2025
Gift subscriptions directly from your subscribe page
Asharee Peters
November 19, 2025
How Igor Ranc built Berlin's largest English-language tech newsletter
Mary
November 18, 2025
View, search, and restore previous versions of your newsletter templates.
Subscriber preview
Justin Duke
November 17, 2025
Preview emails as specific subscribers
Public postmortem: API availability issues
Justin Duke
November 16, 2025
Public postmortem: API availability issues
Open source funding in 2025
Justin Duke
November 15, 2025
Open source funding in 2025
Mary
November 12, 2025
A unified inbox for comments, conversations, mentions, and webmentions.
Justin Duke
November 10, 2025
Custom Icons
Asharee Peters
November 10, 2025
How Kieron Gillen markets comics without having a real job
Managed DNS
Ben Borgers
November 7, 2025
Buttondown can manage your DNS records for you
Asharee Peters
November 4, 2025
How Kalina Silverman helps people skip small talk and make meaningful connections
Justin Duke
November 3, 2025
Embed your favorite analytics on your homepage
Asharee Peters
November 3, 2025
How Octopus Think connects with customers and shares app updates
Send by engagement date
Justin Duke
November 2, 2025
Send by last open or last click date
Matthew Guay
November 1, 2025
NaNoWriMo and the creative power of looming fear
A cleaner paid subscriptions experience
Justin Duke
October 31, 2025
Improvements to the paid subscriptions setup experience
Custom button colors
Justin Duke
October 30, 2025
You can change the color of your buttons
HMAC-based security for webhooks
Justin Duke
October 28, 2025
Verify webhook authenticity with HMAC signatures for outgoing webhooks.
Bulk notes
Justin Duke
October 21, 2025
Bulk add notes to your subscribers
Drag-and-drop columns
Justin Duke
October 20, 2025
Reorder columns in your dashboard by dragging and dropping
Public postmortem: duplicate sends
Justin Duke
October 17, 2025
Public postmortem: duplicate sends
Asharee Peters
October 16, 2025
Why Flock Theatre loves Buttondown's personal touch
Asharee Peters
October 16, 2025
How Jenny Zhang inspires readers to show up for their communities
Portal login
Justin Duke
October 15, 2025
Subscribers can access the Portal through the main login
Emailwall and Webwall components
Justin Duke
October 10, 2025
Fancy mode blocks to show content only in email or only on the web.
Matthew Guay
October 10, 2025
How to publish your blog and newsletter in one click
Newsletter QR code
Justin Duke
October 6, 2025
Your newsletter now has a QR code
Matthew Guay
October 3, 2025
The ChatGPT for music that launched in 1994
Czech localization
Tanvir
October 1, 2025
Buttondown is now available in Czech.
Asharee Peters
September 30, 2025
How Giuseppe Sollazzo shares data-powered stories with readers
UTM via forms
Justin Duke
September 27, 2025
Add UTM params to subscribers via form
Better undeliverable heuristic
Justin Duke
September 26, 2025
A better heuristic for undeliverable subscribers
Matthew Guay
September 26, 2025
The email list cleaning conundrum
Nickd
September 26, 2025
Onboarding, part two
Customizable checkout flows
Justin Duke
September 22, 2025
We're shifting to customizable checkout flows
Lifecycle-based emails
Justin Duke
September 20, 2025
Send emails based on subscriber lifecycle dates
Paid churn tracking
Justin Duke
September 19, 2025
Track when paid subscribers churn
Matthew Guay
September 19, 2025
How to personalize your newsletter onboarding with metadata
Customize gift unsubscription notifications
Justin Duke
September 18, 2025
Customize the email sent when a gift subscription ends with your own messaging.
Asharee Peters
September 18, 2025
How Jade Quek curates paper and book arts events across the US
Firewall controls
Justin Duke
September 17, 2025
Better control over the firewall
Matthew Guay
September 17, 2025
Building a Slack-powered newsletter with Buttondown
Captcha
Justin Duke
September 16, 2025
Hosted subscribe forms now show CAPTCHAs for suspicious subscription attempts.
How we welcome new customers at Buttondown
Nickd
September 12, 2025
How we welcome new customers at Buttondown
Matthew Guay
September 9, 2025
On hiring a robot to send your emails
Notes everywhere
Justin Duke
September 8, 2025
Add notes to (almost) everything
Asharee Peters
September 5, 2025
How Destiny Toro showcases creative projects and fosters community
Ryan Farley
September 5, 2025
The story of how RSS beat Microsoft
Asharee Peters
September 5, 2025
How Sabrina Imbler spotlights NYC's non-human residents
Suppressed emails
Justin Duke
September 4, 2025
New status and notifications when emails are blocked due to content auditing.
Asharee Peters
September 1, 2025
How Karl Weber shares writing on programming, art, and pop culture
Asharee Peters
September 1, 2025
How Mark Slutsky publishes writings and supports causes he cares about
Asharee Peters
September 1, 2025
How Nick George tracks biotech hiring patterns and compensation trends
Asharee Peters
September 1, 2025
How Sasha Frere-Jones publishes writings on music and culture
Ryan Farley
August 28, 2025
Leave The Grateful Dead out of it
Ryan Farley
August 26, 2025
Images in newsletters: how much is too much?
Dark mode
Justin Duke
August 25, 2025
Dark mode support for the Buttondown interface, now in beta.
Better API errors
Justin Duke
August 22, 2025
Better API debugging and clearer error messages
Matthew Guay
August 22, 2025
A newsletter-shaped-blog, or a blog-shaped-newsletter
Smarter firewall
Justin Duke
August 21, 2025
The firewall is smarter and stronger
A new home screen
Justin Duke
August 20, 2025
Dashboard home screen showing todos, recommendations, and what needs attention.
Cleaner email editor
Mary
August 15, 2025
Streamlined editor layout with actions moved to top-right for distraction-free writing.
Matthew Guay
August 15, 2025
Build a DIY email-to-SMS gateway
Asharee Peters
August 15, 2025
How Jake Rayson shares nature recovery resources across Wales
Asharee Peters
August 11, 2025
How Sarah Becan shares recipe comics and her photogenic cat
Matthew Guay
August 8, 2025
Email signatures and the power of defaults
Asharee Peters
August 1, 2025
How Damien Joyce uplifts emerging indie artists and builds a music community
Asharee Peters
August 1, 2025
How Linus Lee reflects on life and human-computer interaction
Matthew Guay
August 1, 2025
What the hell is a Webmention?
Asharee Peters
July 31, 2025
How Randall P. Girdner shares comics and maintains creative control
Asharee Peters
July 31, 2025
How Robert Kingett funds his writing through pay-per-email
Ryan Farley
July 29, 2025
How to return from a newsletter hiatus in style
Cleaner subscriber management
Justin Duke
July 28, 2025
Consolidated problematic subscriber types into a single "undeliverable" status with clear reasons.
Asharee Peters
July 28, 2025
How Graham Oliver shares life in Taiwan and spreads positivity
Ryan Farley
July 28, 2025
A plaintext subject line is all email has ever needed
Matthew Guay
July 25, 2025
The subtle art of email forensics
PWYW suggestions
Justin Duke
July 20, 2025
Set suggested amounts for pay-what-you-want subscription tiers.
Ryan Farley
July 17, 2025
Email's fingerprints are everywhere you look
Public postmortem: bot identification traffic blocking
Justin Duke
July 17, 2025
Public postmortem: bot identification traffic blocking
More filtering options
Justin Duke
July 15, 2025
That's right, even more filtering options
Filter subscribers by source
Justin Duke
July 13, 2025
Filter subscribers by how they joined, including API, import, organic, manual, or Stripe.
Ryan Farley
July 10, 2025
Creating newsletter webhooks for fun and profit
Filter subscribers by domain
Justin Duke
July 4, 2025
Filter and manage subscribers based on their email domain.
Ryan Farley
July 3, 2025
The physicists who convinced Fermilab to send Brazil's emails
Dedicated archive settings page
Steph Monette
June 26, 2025
Design settings split into separate pages for email and archive customization.
Ryan Farley
June 26, 2025
Gmail's shortcuts come from a 1976 keyboard layout
Asharee Peters
June 24, 2025
What you need to know about Orange's new email protections
Dormancy
Justin Duke
June 23, 2025
Put newsletters on pause without billing while preserving all data.
Skip old RSS items
Justin Duke
June 21, 2025
Skip old RSS items when setting up feeds
Referrals in the Portal
Justin Duke
June 20, 2025
Subscribers can now view and customize their referral link in the Portal.
Email address changes
Justin Duke
June 15, 2025
Subscribers can change their email address
Justin Duke
June 13, 2025
How email tracking works behind the scenes
Justin Duke
June 10, 2025
Announcing django-rq-cron
Featured emails
Justin Duke
June 9, 2025
Pin your best emails to appear at the top of your archive page.
Justin Duke
June 9, 2025
rssrssrssrss (that is not a typo)
Justin Duke
June 6, 2025
It's [always] a great time to build an email course
Safer bulk actions
Mary
June 5, 2025
Improved confirmation dialogs and safety checks for bulk subscriber actions.
Test mode
Justin Duke
June 3, 2025
Route all outbound emails to your account for safe integration testing.
Ryan Farley
June 3, 2025
The legendary email client power users wouldn't let die
Matthew Guay
June 2, 2025
The non-scientific, non-scammy way to grow your newsletter
Playground
Justin Duke
June 1, 2025
Interactive playground to test and explore the Buttondown editor features.
Ryan Farley
May 30, 2025
You should have a can-do attitude about CAN-SPAM
CLI
Justin Duke
May 28, 2025
Command-line tool for bidirectional syncing of emails, automations, and images.
Archive click tracking
Justin Duke
May 27, 2025
Tracking clicks in archives, too
Customizable exports
Justin Duke
May 26, 2025
Export dialog now supports column filtering, JSON format, and preview options.
SimpleAnalytics integration
Justin Duke
May 23, 2025
Privacy-first analytics integration for tracking newsletter web traffic without cookies.
Justin Duke
May 23, 2025
Best practices on pre-launch emails
Revamped email draft flow
Mary
May 22, 2025
Cleaner dialog for sending draft copies of emails to selected recipients.
Justin Duke
May 16, 2025
Markdown is unformatted formatting
Analytics for sad stuff
Justin Duke
May 14, 2025
New charts for tracking permanent failure rates and spam complaint rates.
Are.na sharing
Justin Duke
May 9, 2025
Share your newsletters on Are.na
Justin Duke
May 9, 2025
E-COM: The $40 million USPS project to send email on paper
Ryan Farley
May 2, 2025
Attachments helped email go global
Localization
Justin Duke
May 1, 2025
Buttondown now supports eight languages including French, German, Spanish, and more.
Justin Duke
April 25, 2025
This is not a newsletter accessibility checklist
Configurable Firewall
Justin Duke
April 21, 2025
New spam blocking controls with adjustable thresholds and manual review options.
Suspicious activity detection
Justin Duke
April 18, 2025
Quickly spot suspicious domains or IPs
Justin Duke
April 18, 2025
The community powered email newsletter
Activity filtering
Justin Duke
April 17, 2025
Easily filter a subscriber's activity
Automatic periodic exports
Justin Duke
April 15, 2025
Schedule automatic data exports using time-based automation triggers.
Expanded UTM filtering
Justin Duke
April 14, 2025
Better tracking with expanded UTM filtering
Ryan Farley
April 11, 2025
AMP and why emails are not (and should never be) interactive.
Ryan Farley
April 4, 2025
Email ideas to build hype for your first book launch
Own tracking infrastructure
Justin Duke
March 31, 2025
Our tracking infrastructure is now our own
Ryan Farley
March 28, 2025
On hacker wordplay and fossilized poetry
Ryan Farley
March 27, 2025
A brief history of all the times email was supposed to die
Public postmortem: external events backlog
Justin Duke
March 27, 2025
Public postmortem: external events backlog
Undeliverable handling
Justin Duke
March 25, 2025
Better handling for undeliverable subscribers
Ryan Farley
March 21, 2025
How (and why) non-technical folks should learn to use an API
Public postmortem: email timeouts
Justin Duke
March 14, 2025
Public postmortem: email timeouts
Engagement rates column
Matias Artopoulos Kozak
March 11, 2025
Open and click rates in Subscribers view
Tumblr auto-sharing
Matias Artopoulos Kozak
March 10, 2025
Share your emails on Tumblr automatically
Cross-newsletter automations
Justin Duke
March 7, 2025
Create subscribers in other newsletters via automations
Ryan Farley
March 5, 2025
StoryOrigin founder Evan Gow on how to grow an author newsletter
RSS metadata
Justin Duke
March 1, 2025
Add metadata to your RSS feeds
Image export
Justin Duke
February 27, 2025
Export images from your newsletter
Button alignment options
Mary
February 25, 2025
New alignment options for custom buttons
Jon Sully
February 24, 2025
Using Typora as a custom Buttondown front-end
Zapier v2.0
Matias Artopoulos Kozak
February 19, 2025
New Zapier integration with easier login flow and new subscriber management actions.
Ryan Farley
February 18, 2025
How email came to be
Pageviews by referrer
Justin Duke
February 17, 2025
New analytic pageviews by referrer
Redesigned subscriber detail pane
Justin Duke
February 14, 2025
A visual refresh of the subscriber detail view with streamlined activity feed.
Self-serve referral settings
Justin Duke
February 13, 2025
Set your own PayPal or Venmo username for affiliate payouts instead of waiting for us to ask.
Matthew Guay
February 12, 2025
Write newsletters like an email
Esoteric API features
Justin Duke
February 9, 2025
Two small, esoteric API features
Matthew Guay
February 7, 2025
Mail merge started on a $10,000 IBM typewriter
We've removed legacy teasers
Justin Duke
February 6, 2025
Legacy teasers are replaced by the more flexible paywall component for gating premium content.
Ryan Farley
February 3, 2025
Your email list needs an inner circle
Related emails linking
Steph Monette
January 31, 2025
Link related emails from the editor
Matthew Guay
January 24, 2025
The double opt-in story
Ryan Farley
January 20, 2025
A good publishing workflow is an escape hatch
Justin Duke
January 16, 2025
Developer marketing is show and tell
Header/footer variables
Justin Duke
January 15, 2025
Template variables in headers and footers
Asharee Peters
January 13, 2025
How Clive Thompson linkblogs for thousands of readers
New analytic MRR
Justin Duke
January 13, 2025
View monthly recurring revenue alongside your other analytics within Buttondown.
2025 pricing update
Justin Duke
January 12, 2025
2025 pricing update
Transactional naked mode
Justin Duke
January 11, 2025
Naked mode for transactional emails
Justin Duke
January 10, 2025
What happens when you move your newsletter
Justin Duke
January 9, 2025
Changes to our stack in 2025
Ryan Farley
January 7, 2025
Short boughs, long vintage, and email
Classic theme comments
Justin Duke
January 5, 2025
Comments in the classic theme
2024 (and what's next)
Justin Duke
December 28, 2024
2024 (and what's next)
Matthew Guay
December 27, 2024
Portability is optionality
Webhooks for exports
Justin Duke
December 26, 2024
New webhook types notify you when exports are created, completed, or failed.
Asharee Peters
December 18, 2024
How James Whatley answers questions from his community
Free/paid content blocks
Justin Duke
December 17, 2024
Carve out free- and paid-only blocks in your emails
Bluesky profile embeds
Mary
December 10, 2024
Embed Bluesky profiles in your Buttondown emails
Matthew Guay
December 6, 2024
One topic, for a limited time: the pop-up email newsletter
Bluesky post embeds
Mary
December 5, 2024
Embed Bluesky posts in your Buttondown emails
Pausing your subscription
Justin Duke
November 26, 2024
Pause your Buttondown subscription to take a break without being billed.
Discord webhook integration
Matias Artopoulos Kozak
November 21, 2024
Easily set up Discord webhooks to get notified about newsletter events in your server.
Filter by survey response
Justin Duke
November 18, 2024
Filtering subscribers by survey responses
Asharee Peters
November 11, 2024
How Organization for Transformative Works sends newsletters in sixteen languages
Filtered exports
Justin Duke
November 8, 2024
Export only filtered lists of subscribers or emails instead of everything at once.
Umami integration
Justin Duke
November 6, 2024
Embed Umami privacy-focused analytics on your newsletter with just a website ID.
Per-email paid subscriptions
Justin Duke
November 4, 2024
Paid subscribers can now be charged per premium email sent instead of monthly or yearly.
Matthew Guay
November 1, 2024
The principle of LII
Multi-event webhooks
Matias Artopoulos Kozak
October 29, 2024
Multiple event types for webhooks
API idempotency keys
Matias Artopoulos Kozak
October 24, 2024
Idempotency keys in the API
Internal links
Justin Duke
October 22, 2024
Fancy editor now autocompletes internal links to other emails you've written.
Matthew Guay
October 21, 2024
Compliment your complements
Custom buttons
Justin Duke
October 17, 2024
Create custom CTA buttons in Fancy Mode to link subscribers to Discord, products, or any URL.
Framer component
Justin Duke
October 15, 2024
A brand new Framer component
Matthew Guay
October 11, 2024
What's your newsletter's North Star?
Send permission
Matias Artopoulos Kozak
September 23, 2024
New permission for sending emails
Justin Duke
September 18, 2024
Our new Open Source Funding Pledge
Zapier v1.8
Matias Artopoulos Kozak
September 17, 2024
New Zapier triggers for tag changes, plus actions to find, update subscribers, and create tags.
Asharee Peters
September 12, 2024
How Patricia Elzie-Tuttle uses Buttondown to share resources and foster community
Matthew Guay
September 6, 2024
Where to start with newsletter automations
Cross-post to Bluesky
Justin Duke
September 1, 2024
Automatically cross-post your newsletter to Bluesky directly from Buttondown.
Justin Duke
August 30, 2024
Your first fifty subscribers
Custom audiences
Justin Duke
August 28, 2024
Send your emails to custom audiences
New demo site
Justin Duke
August 26, 2024
A brand new demo site
Justin Duke
August 23, 2024
Every email your company needs to send, and how to send them
Zapier v1.7
Justin Duke
August 22, 2024
New Zapier triggers for paid subscription upgrades and churns to automate subscriber perks.
Subscriptions home
Justin Duke
August 19, 2024
A home for all of your subscriptions
Start with a changelog
Justin Duke
August 16, 2024
Start with a changelog
Public postmortem: email delays
Justin Duke
August 16, 2024
Public postmortem: email delays
Filter by import
Justin Duke
August 14, 2024
Filter and browse subscribers by import
Cross-post to Twitter
Justin Duke
August 12, 2024
Automatically cross-post your newsletter to Twitter directly from Buttondown.
Intuitive publishing flow
Justin Duke
August 9, 2024
A newer, more intuitive publishing flow
Zapier v1.6
Justin Duke
August 7, 2024
New Zapier triggers for subscription confirmations and survey responses, plus auto-activation for subscribers.
Asharee Peters
August 6, 2024
How Mike Monteiro answers questions from his design community
Asharee Peters
August 6, 2024
How Peter Giacomo Lombardo grows an audience for his open-source project
Naked mode
Justin Duke
August 5, 2024
A new power-user mode lets you write raw HTML and CSS, bypassing the default Buttondown template.
API versioning
Justin Duke
July 31, 2024
API versioning has been introduced to handle breaking changes while keeping existing integrations safe.
Justin Duke
July 31, 2024
Send your next email newsletter from Terminal
New drafts interface
Justin Duke
July 29, 2024
A new home for sending drafts
Apple and Simplecast embeds
Justin Duke
July 26, 2024
Embed Apple and Simplecast podcasts in your emails
Justin Duke
July 16, 2024
Guest newsletters 101
Unsplash integration
Justin Duke
July 15, 2024
Find lovely images with Unsplash
Dashboard customization
Justin Duke
July 8, 2024
More ways to customize your email dashboard
Justin Duke
July 5, 2024
How successful self-publishers share their excerpts
Archive search
Justin Duke
July 1, 2024
Subscribers can now search your archives by subject, body, or email metadata.
Justin Duke
June 28, 2024
How Rosie Sherry builds communities around email
Emoji autocomplete
Justin Duke
June 25, 2024
Type a colon in Fancy mode to bring up an emoji picker with search functionality.
Justin Duke
June 24, 2024
How to write DevRel emails that don't sound like marketing
Cross-post to LinkedIn
Justin Duke
June 19, 2024
Automatically cross-post your newsletter to LinkedIn directly from Buttondown.
Subscriber autonomy
Justin Duke
June 18, 2024
Subscribers can now change their own tags after subscribing through a self-service portal.
Matthew Guay
June 14, 2024
In praise of zines
rel='me' support
Justin Duke
June 12, 2024
Add rel='me' links to your profile for identity verification on platforms like Mastodon.
LaTeX support
Justin Duke
June 11, 2024
LaTeX is now supported in the editor, preview, and emails with PNG, SVG, and HTML rendering.
Justin Duke
June 4, 2024
Open-sourcing our footnotes editor
How to build a culture of shipping
Justin Duke
June 3, 2024
How to build a culture of shipping
New editor features
Justin Duke
May 29, 2024
Editor improvements include drag-and-drop files, social embeds, pull quotes, poetry blocks, and syntax highlighting.
Pace yourself!
Ryan Farley
May 23, 2024
Pace yourself!
Easy footnotes
Justin Duke
May 22, 2024
Write footnotes without dropping down to Markdown
Magic email images
Justin Duke
May 21, 2024
Our Magic Email Address now supports images
Meta Pixel support
Justin Duke
May 19, 2024
Support for the Meta Pixel ID
My favorite newsletters
Justin Duke
May 13, 2024
My favorite newsletters
Slack webhooks
Justin Duke
May 8, 2024
Send webhooks to Slack without the hassle
Rebuilt documentation site
Ben Borgers
May 6, 2024
The docs site has been rebuilt with cleaner guides, API recipes, and improved search.
Ben Borgers
May 6, 2024
How we built Buttondown's new docs
Random content tag
Justin Duke
April 29, 2024
New template tag for randomizing content
How to start a club
Justin Duke
April 25, 2024
How to start a club
Email yourself action
Justin Duke
April 20, 2024
New automation action email yourself
Improved search
Justin Duke
April 17, 2024
Search just keeps getting more powerful
Automation analytics
Justin Duke
April 15, 2024
Track automation performance over time in the Analytics dashboard
Justin Duke
April 15, 2024
We're sponsoring PyCon
Better in-app previews
Justin Duke
April 13, 2024
In-app previewing is way, way better
Transistor embeds
Justin Duke
April 12, 2024
Embed Transistor podcasts in your emails
New analytic unsubscribe reasons
Justin Duke
April 11, 2024
Analytics now show aggregated reasons why subscribers unsubscribed from your newsletter.
Asharee Peters
April 5, 2024
How Kenny Meyers builds software for comics people
Comments dashboard
Justin Duke
April 3, 2024
New author tools let you sort and filter comments by subscriber, email, or date.
Asharee Peters
April 2, 2024
Why Elliot Jay Stocks loves using Buttondown
Justin Duke
March 28, 2024
Changes to our stack in 2024
Asharee Peters
March 26, 2024
How Sam Rose built an audience with Buttondown
Fancy new editor mode
Justin Duke
March 21, 2024
A new WYSIWYG editor with inline formatting tooltips, autocompletion, and features like webwalls and surveys.
Comments RSS feed
Justin Duke
March 18, 2024
An RSS feed just for comments
Daily reports
Justin Duke
March 15, 2024
Daily reports for the information-obsessed
Newer, nicer settings pages
Justin Duke
March 14, 2024
Settings pages have been reorganized from one big page into smaller, focused sections.
Bluesky and Mastodon sharing
Justin Duke
March 12, 2024
Sharing integrations with Bluesky and Mastodon
Asharee Peters
March 11, 2024
Why Rian van der Merwe loves Buttondown
Analytics 3.0
Justin Duke
March 6, 2024
Rebuilt analytics with more data, flexible exports, and weekly or monthly email reports.
How often should you send your newsletter?
Justin Duke
March 4, 2024
How often should you send your newsletter?
Filter by coupon
Justin Duke
February 28, 2024
Filter subscribers by their coupons
What the hell is a lead magnet?
Justin Duke
February 21, 2024
What the hell is a lead magnet?
Subscriber ID variables
Justin Duke
February 20, 2024
You can now use subscriber IDs as template variables
Subscribers can tag themselves
Justin Duke
February 19, 2024
Select-based form inputs let subscribers choose options that automatically apply tags.
Tags now get auto-grouped
Justin Duke
February 5, 2024
Tags using key:value syntax are now automatically grouped in the UI for easier browsing.
Comments!
Justin Duke
January 29, 2024
Optional, opt-in commenting on newsletter archive pages with moderation and API access.
Asharee Peters
January 23, 2024
How Stefan Judis teaches thousands of developers every week
Send latest premium action
Justin Duke
January 22, 2024
New automation action send latest premium email
Better archives and landing pages
Justin Duke
January 19, 2024
Newer, nicer, archives and landing pages
Automation filtering
Justin Duke
December 17, 2023
You can filter automations by confirmation date and engagement
Free API subscribers
Justin Duke
December 13, 2023
You can now create subscribers through the API for free
Surveys in automations
Justin Duke
December 12, 2023
You can now send out surveys within automations
Reply to replies
Justin Duke
December 8, 2023
You can now reply to tracked replies
Labels for RSS feeds
Justin Duke
December 6, 2023
Add labels to RSS feeds to easily identify multiple feeds in your newsletter.
Asharee Peters
December 2, 2023
How Jeremy Singer-Vine curates curious datasets for thousands of readers
Dear Tinyletter Users
Justin Duke
November 29, 2023
Dear Tinyletter Users
2023 (and what's next)
Justin Duke
November 28, 2023
2023 (and what's next)
Email vs web content
Justin Duke
November 21, 2023
Custom content for email vs. web
Sort by engagement
Justin Duke
November 20, 2023
Sort and filter by last open/click date!
Black Friday / Cyber Monday prices
Justin Duke
November 17, 2023
Black Friday / Cyber Monday prices
Asharee Peters
November 16, 2023
How Mandy Brown cultivates a thoughtful community around a working library
Better gift subscriptions
Justin Duke
November 14, 2023
Attach custom messages and durations to gift subscriptions.
Asharee Peters
November 13, 2023
How Andy Dehnart built a career reviewing television
Asharee Peters
November 6, 2023
How Cassidy Williams built a newsletter for tens of thousands of developers
New email template
Justin Duke
November 2, 2023
A new, prettier, email template
How we keep deliverability high
Justin Duke
November 2, 2023
How we keep deliverability high
Email-based automations
Justin Duke
November 1, 2023
Send automations based on email addresses
What you need to know about Gmail's new protections
Justin Duke
October 31, 2023
What you need to know about Gmail's new protections
Opt-in reply tracking
Justin Duke
October 30, 2023
Track email replies to enable automations, webhooks, and analytics around subscriber responses.
Dear Mailchimp Users
Justin Duke
October 20, 2023
Dear Mailchimp Users
Automatic alt text
Justin Duke
October 6, 2023
You can now add automatic alt text to your images
sniperl.ink, our free tool for improving subscription rate
Justin Duke
October 6, 2023
sniperl.ink, our free tool for improving subscription rate
More social network integrations
Justin Duke
September 20, 2023
Auto-post and share handles for Reddit, Hacker News, Bluesky, and Threads.
Better automation analytics
Justin Duke
September 19, 2023
Automation analytics is way better
Sort by metadata
Justin Duke
September 18, 2023
You can now sort your subscribers by metadata
Overlarge image warnings
Justin Duke
September 16, 2023
Buttondown now checks for overlarge images before sending
Automation tag actions
Justin Duke
September 14, 2023
You can now add and remove tags to your automation sequences
Pause emails mid-flight
Justin Duke
September 12, 2023
You can now pause emails mid-flight to fix typos or add new content
Search tags and automations
Justin Duke
September 11, 2023
Search for everything (or at least tags and automations)!
Gift via automations
Justin Duke
September 8, 2023
Gift/ungift premium subscriptions through automations!
Image captions
Justin Duke
September 5, 2023
Add captions to your images!
How Buttondown uses your content to power generative AI
Justin Duke
August 30, 2023
How Buttondown uses your content to power generative AI
Subscriber-driving emails
Justin Duke
August 28, 2023
Learn which emails are driving the most subscribers (and payments!)
Justin Duke
August 23, 2023
Announcing django-typescript-routes
Programmatic webhooks
Justin Duke
August 21, 2023
You can now programmatically register webhooks with the API!
Email page views
Justin Duke
August 14, 2023
You can now view (and sort by) page views in the Emails page!
Tag statistics
Justin Duke
August 9, 2023
You can now view high-level statistics for your subscriber tags!
Discord webhook formatting
Justin Duke
July 20, 2023
Discord webhooks are auto-detected and transformed!
Buttondown pledges $5,000 to Outreachy
Justin Duke
July 11, 2023
Buttondown pledges $5,000 to Outreachy
Automatic subscriber cleanup
Justin Duke
July 4, 2023
Clean up your subscribers automatically!
You should add SSO
Justin Duke
July 4, 2023
You should add SSO
RSS subscriber count
Justin Duke
June 27, 2023
Learn how many folks subscribe to your newsletter via RSS!
The reply loop
Justin Duke
June 22, 2023
The reply loop
Weekly subscriber reports
Justin Duke
June 20, 2023
Get a weekly report on your incoming subscribers!
Ask the experts: How do I come up with content?
Justin Duke
June 20, 2023
Ask the experts: How do I come up with content?
More list columns
Justin Duke
June 19, 2023
More columns for subscriber and email views!
What can we learn from Google Domains?
Justin Duke
June 17, 2023
What can we learn from Google Domains?
Customizable list views
Justin Duke
June 15, 2023
Customize your subscriber and email list views!
Asharee Peters
June 12, 2023
How Max Voltar turned a side hustle into a treasured keyboard resource
Asharee Peters
June 8, 2023
How Nick Disabato runs two newsletters from one design consultancy
Made-for-you share images
Ben Borgers
June 8, 2023
Auto-generated share image templates based on your newsletter name and email subject.
Ben Borgers
June 8, 2023
How we built made-for-you og:images
Automation improvements
Justin Duke
June 6, 2023
A handful of new automation niceties!
End-of-email surveys
Justin Duke
May 31, 2023
Close out every email with a survey!
What to charge for sponsorships on your newsletter
Justin Duke
May 30, 2023
What to charge for sponsorships on your newsletter
Filter by date
Justin Duke
May 29, 2023
You can now filter your subscribers by date!
Survey-triggered automations
Justin Duke
May 24, 2023
Trigger automations based on survey responses!
More automation functionality
Justin Duke
May 23, 2023
Trigger automations on link clicks and add or remove tags automatically.
New webhooks
Justin Duke
May 22, 2023
New webhooks for email status changes and subscriber link clicks.
Asharee Peters
May 19, 2023
How France Insider built a news service with thousands of paid subscribers
Email as primary key
Justin Duke
May 19, 2023
Use subscriber emails as a PK!
Automations
Justin Duke
May 16, 2023
Supercharge your newsletter with automations!
Asharee Peters
May 15, 2023
How John Willshire unites two businesses in one newsletter
Buttondown's username retention policy
Justin Duke
May 13, 2023
Buttondown's username retention policy
Confirmation reminders
Justin Duke
May 10, 2023
Subscribers are now automatically reminded to confirm their subscription!
Email churned subscribers
Justin Duke
May 9, 2023
Send emails directly to churned subscribers.
Email-to-draft
Justin Duke
May 6, 2023
Create drafts and emails from your email
Subscriber metadata columns
Justin Duke
May 5, 2023
Metadata in your subscriber lists!
Email length doesn't affect click rate
Justin Duke
May 4, 2023
Email length doesn't affect click rate
Automatic image upload with Buttondown + Typora
Jon Sully
May 3, 2023
Automatic image upload with Buttondown + Typora
ChatGPT integration
Justin Duke
May 1, 2023
Let ChatGPT generate your newsletter...
Speeding up a Django view
Justin Duke
April 26, 2023
Speeding up a Django view
Faster web archives
Justin Duke
April 25, 2023
Web archives are much faster
Referral program
Justin Duke
April 24, 2023
Get paid for referring users to Buttondown
Better search results
Justin Duke
April 21, 2023
Less terrible search results page
TikTok embeds
Justin Duke
April 20, 2023
Embed Tiktok clips in your Buttondown emails
Subscriber timeline
Justin Duke
April 13, 2023
A timeline to help you better understand your subscriber's journey.
What Murakami tells us about focus
Justin Duke
April 13, 2023
What Murakami tells us about focus
Spotify embeds
Justin Duke
April 5, 2023
Embed Spotify tracks in your Buttondown emails
Improved RSS-to-email
Justin Duke
April 4, 2023
RSS-to-email just got even more powerful.
Subscribe page OG image
Justin Duke
March 29, 2023
Set an OG image for your subscribe page!
New analytics page
Justin Duke
March 28, 2023
New and improved analytics page!
Pricing page driven development
Justin Duke
March 28, 2023
Pricing page driven development
Google Tag Manager
Justin Duke
March 24, 2023
Track your web archive traffic using Google Tag Manager!
Even more subscriber types
Justin Duke
March 23, 2023
New subscriber types for churned, malformed, complained, and disposable email addresses.
Integrating Duda with Buttondown
Justin Duke
March 22, 2023
Connect your Duda website to collect newsletter subscribers through contact forms.
Soundcloud embeds
Justin Duke
March 22, 2023
Embed Soundcloud tracks in your Buttondown emails
Linktree integration guide
Justin Duke
March 21, 2023
A guide to integrating Linktree with your newsletter
Netlify functions + Buttondown
Andrew Stiefel
March 21, 2023
Netlify functions + Buttondown
Advanced and enterprise plans
Justin Duke
March 14, 2023
New advanced plans + enterprise pricing!
Framer integration guide
Justin Duke
March 13, 2023
A guide to integrating Framer with your newsletter!
API requests page
Justin Duke
March 10, 2023
Debug API requests in the new dedicated requests page
Team collaboration
Justin Duke
March 4, 2023
Collaborate with friends and colleagues!
Typescript-friendly label fallbacks
Justin Duke
March 2, 2023
Typescript-friendly label fallbacks
In-email surveys
Justin Duke
February 28, 2023
Poll your subscribers with quick in-email surveys!
Better CSS settings
Justin Duke
February 17, 2023
Better CSS inputs in the settings page.
Better RSS automation fetching!
Justin Duke
February 16, 2023
RSS feeds now check three times faster with manual refresh and feed status details.
What it costs to run a software business in 2023
Justin Duke
February 9, 2023
What it costs to run a software business in 2023
Editor toolbar improvements
Justin Duke
February 7, 2023
A more ergonomic editor toolbar
Smart filters
Justin Duke
January 30, 2023
Sift through the noise quickly with smart filters
Faster emails page
Justin Duke
January 27, 2023
The emails page loads three times as fast!
RSS automations
Justin Duke
January 23, 2023
Automate your newsletter with RSS!
Faster email analytics
Justin Duke
January 19, 2023
Email analytics are much faster!
Zapier error codes
Justin Duke
January 17, 2023
Buttondown's Zapier integration has better error codes now!
Image accessibility checks
Justin Duke
January 16, 2023
Buttondown makes sure your images are accessible and SEO-friendly
Just use a monorepo
Justin Duke
January 12, 2023
Just use a monorepo
Tags vs newsletters
Justin Duke
January 11, 2023
A quick primer on when to use tags and when to use multiple newsletters
OG image picker
Justin Duke
January 10, 2023
It's now easier to choose the share image (or 'OG image') for an email!
Image editor improvements
Justin Duke
January 9, 2023
Improvements to the image editor
Q1 planning
Justin Duke
January 2, 2023
Q1 planning
On monorepos
Justin Duke
December 20, 2022
On monorepos
API bulk actions
Justin Duke
December 7, 2022
You can now execute bulk actions through the API!
Improved OpenAPI spec
Justin Duke
December 6, 2022
Buttondown's OpenAPI spec is much better. And on GitHub.
Mastodon support
Justin Duke
December 1, 2022
Add a link to your Mastodon account alongside other social profiles.
Better subscriber filtering
Justin Duke
November 30, 2022
Just launched, better filtering on /v1/subscribers.
Better subscriber validation
Justin Duke
November 29, 2022
Warnings for duplicate subscribers and option to auto-activate manually added subscribers.
Hotkey support!
Justin Duke
November 28, 2022
Keyboard shortcuts for bulk actions and opt-out for premium subscriber notifications.
Programmatic access to analytics
Justin Duke
November 14, 2022
New API endpoint to retrieve aggregated analytics data for any email.
Stronger bulk actions
Justin Duke
November 7, 2022
Select all items matching a filter for bulk actions, even across multiple pages.
Faster archive page
Justin Duke
November 2, 2022
Archive list pages now load twice as fast, plus removed the address field.
Custom canonical URLs
Justin Duke
October 31, 2022
Change the canonical URL of your emails
Email slug and metadata
Justin Duke
October 28, 2022
You can now modify the slug and metadata of emails
Improved writing interface
Justin Duke
October 27, 2022
A brand-new email writing interface for composing newsletters.
Generating a Typescript router in Django
Justin Duke
October 26, 2022
Generating a Typescript router in Django
Filter emails by source
Justin Duke
October 19, 2022
Filter your emails by their source
Launched a glossary
Justin Duke
October 18, 2022
An official glossary to explain email industry acronyms and buzzwords.
Better list view filtering
Justin Duke
October 17, 2022
Preview filter counts before applying, with combinatorial filtering support.
Launched this very changelog
Justin Duke
October 12, 2022
Added a public-facing changelog to share product updates.
Prettier settings page
Justin Duke
October 5, 2022
Rebuilt the settings interface into a unified, more navigable page.
Marking past due subscribers
Justin Duke
September 28, 2022
Paid subscribers with overdue payments are now marked in the Subscribers page.
UTM source filtering
Justin Duke
September 27, 2022
Filter subscribers by UTM source
Descriptive export filenames
Justin Duke
September 26, 2022
More descriptive filenames for exports
All your emails, in one place
Justin Duke
September 21, 2022
All your emails, in one place
Sort by tag
Justin Duke
September 14, 2022
Sort your subscribers by tag
Programmatically gifting subscriptions
Justin Duke
September 13, 2022
Gift or ungift premium subscriptions through the API.
Resubscribe accidentally unsubscribed
Justin Duke
September 12, 2022
Resubscribe subscribers who have accidentally unsubscribed
Better email delivery reporting
Justin Duke
September 8, 2022
Drill into the deliveries list to see who received each email.
Better logging in RQ
Justin Duke
September 5, 2022
Better logging in RQ
More useful 404 pages
Justin Duke
September 5, 2022
404 pages on hosted archives now include a call-to-action for visitors to subscribe.
Fancier exports
Justin Duke
August 15, 2022
Choose specific collections of data to export from Buttondown.
Attach files to your emails
Justin Duke
July 17, 2022
Attach files to your emails
A better events view
Justin Duke
July 14, 2022
A better events view
View webhook events
Justin Duke
July 14, 2022
A new dedicated view to see all webhook events associated with your newsletter.
Secure your account with multi-factor authentication
Justin Duke
July 8, 2022
Secure your account with multi-factor authentication
File attachments
Justin Duke
July 8, 2022
Attach files like CSVs or PDFs
MFA support
Justin Duke
July 6, 2022
Secure your account with MFA
Send teasers for paid newsletters
Justin Duke
June 13, 2022
Send teasers for paid newsletters
Buttondown's new pricing system
Justin Duke
June 8, 2022
Buttondown's new pricing system
How I organize Buttondown's Django applications
Justin Duke
June 7, 2022
How I organize Buttondown's Django applications
Premium teasers
Justin Duke
June 3, 2022
Send teasers of premium emails
Send archived emails to new subscribers
Justin Duke
March 23, 2022
Send archived emails to new subscribers
Send old emails
Justin Duke
March 19, 2022
Send old emails to new subscribers
Embed your subscribe form in the middle of your writing
Justin Duke
March 8, 2022
Embed your subscribe form in the middle of your writing
Granular tracking settings
Justin Duke
February 6, 2022
Granular tracking settings
Migrating Buttondown to mypy
Justin Duke
January 19, 2022
Migrating Buttondown to mypy
Better upselling for premium subscriptions
Justin Duke
September 28, 2021
Better upselling for premium subscriptions
Justin Duke
September 9, 2021
Support for Stripe Payment Links
Accept whatever currency you want for your paid newsletter
Justin Duke
August 28, 2021
Accept whatever currency you want for your paid newsletter
Spring 2021
Justin Duke
August 18, 2021
Spring 2021
Pay-what-you-want subscriptions
Justin Duke
April 1, 2021
Pay-what-you-want subscriptions
Support for HTTPS tracking links
Justin Duke
March 4, 2021
Support for HTTPS tracking links
Email tracking is now off by default
Justin Duke
March 1, 2021
Email tracking is now off by default
You can now integrate with Plausible!
Justin Duke
February 22, 2021
You can now integrate with Plausible!
A nicer subscriber importing experience
Justin Duke
February 21, 2021
A nicer subscriber importing experience
Referencing subscriber tags in your newsletter
Justin Duke
February 12, 2021
Referencing subscriber tags in your newsletter
Slightly nicer Design settings
Justin Duke
January 12, 2021
Slightly nicer Design settings
Webhooks and the programming page
Justin Duke
January 6, 2021
Webhooks and the programming page
Buttondown in 2021
Justin Duke
December 31, 2020
Buttondown in 2021
Undo send
Justin Duke
December 16, 2020
Undo send
Navigation updates
Justin Duke
October 17, 2020
Navigation updates
Open beta: European mail servers
Justin Duke
July 8, 2020
Open beta: European mail servers
Set a custom unsubscribe URL for your unsubscribers
Justin Duke
July 6, 2020
Set a custom unsubscribe URL for your unsubscribers
Compare analytics from multiple emails
Justin Duke
July 2, 2020
Compare analytics from multiple emails
Saved draft recipients
Justin Duke
June 30, 2020
Saved draft recipients
Buttondown's funding of open source software
Justin Duke
March 9, 2020
Buttondown's funding of open source software
Why you need a physical address in your newsletter
Justin Duke
March 1, 2020
Why you need a physical address in your newsletter
Annual subscriptions for paid newsletters
Justin Duke
November 6, 2019
Annual subscriptions for paid newsletters
Adding a Buttondown subscription form to Weebly
Justin Duke
November 5, 2019
Adding a Buttondown subscription form to Weebly
Reminding folks to confirm their subscription
Justin Duke
November 4, 2019
Reminding folks to confirm their subscription
Adding a Buttondown subscription form to Squarespace
Justin Duke
October 24, 2019
Adding a Buttondown subscription form to Squarespace
Adding a Buttondown subscription form to Webflow
Justin Duke
October 11, 2019
Adding a Buttondown subscription form to Webflow
Embedding Instagram photos into your emails
Justin Duke
July 30, 2019
Embedding Instagram photos into your emails
How to opt out of analytics and email tracking
Justin Duke
July 3, 2019
How to opt out of analytics and email tracking
Managing your drafts through the API
Justin Duke
July 1, 2019
Managing your drafts through the API
Open beta: multiple newsletters
Justin Duke
June 22, 2019
Open beta: multiple newsletters
Easy subscriber filters
Justin Duke
June 20, 2019
Easy subscriber filters
Scheduling emails through the API
Justin Duke
May 23, 2019
Scheduling emails through the API
Sending newsletters that get delivered
Justin Duke
May 16, 2019
Sending newsletters that get delivered
May updates
Justin Duke
May 5, 2019
May updates
April updates
Justin Duke
April 8, 2019
April updates
March updates
Justin Duke
March 2, 2019
March updates
February updates
Justin Duke
February 4, 2019
February updates
Winter update
Justin Duke
December 2, 2018
Winter update
June updates
Justin Duke
July 4, 2018
June updates
May updates
Justin Duke
June 3, 2018
May updates
April updates
Justin Duke
May 4, 2018
April updates
March updates
Justin Duke
April 4, 2018
March updates
Nicer archive pages!
Justin Duke
March 14, 2018
Nicer archive pages!
Markdown is easier than ever
Justin Duke
March 11, 2018
Markdown is easier than ever
January updates
Justin Duke
February 1, 2018
January updates
2017 in review
Justin Duke
December 26, 2017
2017 in review
Introducing subscriber events
Justin Duke
November 25, 2017
Introducing subscriber events
Learning about unsubscribed users
Justin Duke
November 6, 2017
Learning about unsubscribed users
A new blog
Justin Duke
November 4, 2017
A new blog
Learn more about your subscribers!
Justin Duke
October 10, 2017
Learn more about your subscribers!
Send emails to certain tags!
Justin Duke
Invalid Date
Send emails to certain tags!
Gravatar support
Justin Duke
September 24, 2017
Gravatar support
Subscriber sources
Justin Duke
September 8, 2017
Subscriber sources
Embeddable subscription widget
Justin Duke
September 1, 2017
Embeddable subscription widget
Creating drafts via email
Justin Duke
August 21, 2017
Creating drafts via email
Subscriber and archive search
Justin Duke
August 1, 2017
Subscriber and archive search
Buttondown Blog