Some links on this page are referral links. We earn a commission if you sign up through them. It does not change any number here. How we make money
Migrate from Substack to beehiiv
Import posts with beehiiv's Content Import tool, upload your Substack subscriber CSV, and move paid subscriptions through Stripe, then pause billing on Substack.
Steps checked against the official help docs on November 13, 2026. Menu names change; if a step doesn't match what you see, the linked doc is the current version.
What carries over
| Item | Result | How |
|---|---|---|
| Free posts | Moves over | Content Import from your publication URL source |
| Paid posts | Moves over | Content Import with the export zip source |
| Paywall position inside posts | Moves, changed | Not kept; paid posts are fully gated until you add a Paywall block source |
| Free subscribers | Moves over | CSV import source |
| Original signup dates | Moves, changed | Show the import date unless you ask beehiiv Support to add them source |
| Paid subscribers billed through Stripe | Moves over | Stripe customer copy plus tier mapping, at their current price source |
| Comped, gifted and iOS subscriptions | Rebuild by hand | Granted as complimentary access in beehiiv source |
| Video and podcast posts | Does not move | Not migrated by the importer source |
| Comments | Does not move | Not migrated source |
| Photo galleries and categories | Does not move | Not migrated source |
| Code blocks | Moves, changed | Arrive as plain text; recreate with an HTML snippet source |
| Post URLs on a custom domain | Moves over | Same /p/ path structure, so no manual redirects source |
Before you start
- Paid subscriptions are listed as a Lite plan feature on beehiiv, so moving paid subscribers needs Lite or Pro. source
- Connect Stripe to beehiiv and create at least one paid tier before importing paid posts. Otherwise paywalled posts are fully visible to non-paying readers. source
- Set up a default post template in beehiiv first. After the import, styling can only be changed post by post. source
- Substack can't export subscriber names in its subscriber CSV. source
Steps
- Export your Substack dataIn Substack, go to Settings, open Exports and choose Create new export. You get a zip with posts, the subscriber list and related statistics, and an email when it's ready. (beehiiv's guide calls this Dashboard > Settings > Import/Export > New export.) Safari users: turn off Open "safe" files after downloading so the zip stays zipped. source
- Import free postsIn beehiiv, go to Settings > Content Import > Start Import, choose Substack, select Free content and paste your Substack publication URL. Imports usually take 5 to 10 minutes. source
- Import paid postsIn the same tool select Free content and Paywalled content, paste the URL and upload the Substack export zip. source
- Export the subscriber CSVOn the Substack Subscribers page, open the three-dot menu above All subscribers, choose Export, and pick all columns or visible columns only. source
- Import free subscribersIn beehiiv, go to Settings > Subscribers Import > New Subscribers Import, upload the CSV, confirm everyone opted in, and map columns to beehiiv fields. Rename the Country column (for example to subscriber_country), because Country is reserved. source
- Copy paid customers in StripeCreate the beehiiv-connected Stripe account and matching paid tiers. In beehiiv start a migration under Import paid subscriptions from Stripe. In your Substack-connected Stripe account, use Customers > Copy > Copy all customers to the beehiiv Stripe account ID, then accept the transfer in the beehiiv-connected account. Stripe says this can take up to three days; beehiiv says most finish in 5 to 15 minutes. source
- Recreate the subscriptionsGive beehiiv your Substack-connected Stripe account ID and a restricted API key created in that account, map each Substack product or price to a beehiiv tier, review the preview, and click Start import. Subscribers keep their current Substack pricing. source
- Stop Substack billingPause or cancel paid subscriptions on Substack, or subscribers are charged twice. To pause: Dashboard > Settings > Payments > Pause subscription billing > Pause indefinitely. source
- Handle comped, gifted and iOS subscribersThese aren't in Stripe, so give them complimentary access in beehiiv, using the Expiration date column from the Substack export. iOS subscribers have to cancel in the App Store themselves. source
Cost before and after
Use the newsletter pricing calculator to see both plans at your list size, or beehiiv vs Kit vs Substack cost.
Official docs used
- https://www.beehiiv.com/support/article/14966988360215-How-to-migrate-from-Substack-to-beehiiv
- https://support.substack.com/hc/en-us/articles/6314498343700-How-do-I-export-my-email-list-on-Substack
- https://support.substack.com/hc/en-us/articles/360037466012-How-do-I-export-my-posts
- https://www.beehiiv.com/pricing
Other guide: Migrate from Mailchimp to Kit. Company sites: Substack, beehiivWe earn a commission if you sign up through this link..