How to Import Free Subscribers into beehiiv (2026)

Import free subscribers to beehiiv: CSV or paste emails, map fields and tags, plan limits and On hold, Kit/Mailchimp/Substack tips, and common CSV errors.

Importing a free subscriber list into beehiiv is a four-step flow: upload a CSV (or paste emails), map columns to email / custom fields / tags, optionally onboard the batch (automations, tags, newsletter lists), then review and confirm. beehiiv’s help center marks the feature for All Plans, including Free.

This guide is based on beehiiv’s official import, CSV troubleshooting, reserved-fields, custom fields, tags, plan-change, and account-review help articles, plus beehiiv’s public pricing page—all re-checked on October 14, 2026. Menu names change; if a screen looks different, those help articles are the source of truth.

How we researched this: Every step, limit, and price below comes from beehiiv’s help center and pricing page (and, for platform exports, beehiiv’s migration guides and Mailchimp’s export help). We haven’t run a subscriber CSV import on our own beehiiv account for this article.

About our links: beehiiv links on this page are affiliate links (/go/beehiiv). Where we mention Kit, that link goes through /go/kit, which currently forwards straight to Kit’s homepage; we don’t earn a commission from Kit. Mailchimp’s help center is linked directly; we don’t earn a commission from Mailchimp or Substack. Our recommendations would be the same either way.

What you need before you start

From beehiiv’s docs and pricing feature table (checked October 14, 2026):

  1. A beehiiv account on any plan. The free-subscriber import article is scoped to All Plans. The pricing feature table lists Custom fields as Yes on every plan, and beehiiv’s subscriber-tags article is scoped to All Plans. Newsletter lists are Pro and Enterprise only.
  2. A clean list of people who opted in. Before Start import, beehiiv makes you confirm that everyone knowingly consented. Importing contacts who didn’t opt in violates beehiiv’s Terms and Privacy Policy and can lead to termination of service.
  3. A CSV (or a short paste of emails). For easier mapping, make CSV headers match the custom fields and tags you already use, and delete columns you won’t import.
  4. Enough room under your plan’s subscriber limit—or a willingness to upgrade, trim the file, or turn on auto-upgrade (details below).

Plan prices (context only). On October 14, 2026, beehiiv’s pricing page at 1,000 subscribers showed Lite at $49/mo billed yearly and Pro at $95/mo billed yearly (Free $0). Monthly billing at 1,000 subscribers showed Lite $59/mo and Pro $109/mo. Full tier tables: beehiiv pricing explained.

Start on beehiiv

Plan limits that affect imports

beehiiv’s pricing FAQ (checked October 14, 2026) says subscribers are counted as unique email addresses subscribed to your publication, and lists these caps:

PlanSubscriber limit (pricing FAQ)
FreeUp to 2,500
LiteUp to 100,000
ProUp to 250,000
EnterpriseCustom

Every plan includes unlimited email sends. The feature table also lists Newsletter Lists as — on Free and Lite and Yes on Pro and Enterprise—so list assignment during import only applies on Pro+.

If the import would put you over your limit and you proceed without upgrading, beehiiv places the import On hold. Partial imports aren’t supported: the whole batch stays held—even rows that would have fit—until you upgrade. beehiiv’s fix without upgrading: delete the held import under Settings → Subscribers import → Historical imports, trim the CSV, and import the smaller file. You can also turn on Auto-upgrade my plan tier when I reach my subscriber limit under Settings → Billing & Plan.

Sources: import free subscribers (updated Oct 1, 2026); change plan (updated Oct 5, 2026); pricing—all checked October 14, 2026.

Step 1: Upload your subscriber list

You can start from Subscribers → Import subscribers or from Settings → Subscribers import.

Pick an import method:

Upload a CSV

  1. Click Choose File and select your CSV.
  2. beehiiv shows how many rows and columns it found, plus a preview of the first few rows.
  3. Optional: under “Not sure how to format your file?”, click Download template.

Paste emails

Type or paste addresses separated by commas. Each address becomes its own entry (remove one with the x). Pasted emails skip the Map fields step.

Click Next when you’re ready.

Source: same import free subscribers article, checked October 14, 2026.

Step 2: Map fields, custom fields, and tags

If you uploaded a CSV, Map your fields lists each column with a data preview.

  1. Import? — Check columns to bring in; unchecked columns are skipped.
  2. Field type for each imported column:
    • Email address — required; you need one email column to continue.
    • Custom field — stored values (name, company, join date, and so on).
    • Subscriber tag — labels you can filter by (for example “Friends and family” or “Affiliates”).
  3. For custom-field columns, pick an existing field or Create new custom field (Name + Data type), or use a Quick field such as Full name or Company. The new field is selected automatically.
  4. Check the Preview panel on the right.
  5. Set Overwrite existing custom field data (see below), then Next.

beehiiv may prefill mapping from your last import—check every column. If there are many columns, scroll sideways.

Overwrite existing custom field data

This toggle appears only when at least one column is mapped to a custom field, and it’s on by default:

ToggleExisting subscribersBlank cell in your file
On (default)File values replace existing custom field valuesDeletes the current value
OffExisting values stayChanges nothing; only empty fields get filled

New subscribers get every value from the file either way. Your choice shows on Review & confirm as “existing data overwritten” or “existing data kept.” Leave the toggle on for intentional bulk updates; turn it off if the file has blank or outdated columns you don’t want to wipe.

Tag mapping notes

  • Tags aren’t overwritten. Existing tags stay; new tags from the file are added.
  • If someone has more than one tag, put them in the tag column with no unescaped commas.

Custom field mapping notes

  • Some names are reserved and can’t be imported as custom fields (examples from beehiiv’s reserved-fields article include acquisition fields like city, country, and region, plus many subscription, publication, referral, podcast, and UTM fields). Rename the CSV column first (for example city → imported_city, or Substack’s country → subscriber_country).
  • Custom fields are case-sensitive.
  • Documented custom field types: Text, Number, True / False, Date, Date & Time, List (Multi-Select).

Sources: import free subscribers; reserved fields (updated Sep 8, 2026); custom fields (updated Sep 25, 2026); subscriber tags (updated Jun 3, 2026)—checked October 14, 2026.

Step 3: Onboard the batch (optional)

Options apply to everyone in the import. Use any, all, or none.

Enroll in an automation

Check one or more automations. First imports may show a pre-built Welcome email automation marked Draft—it doesn’t send until you Publish. You can open an automation from here, edit it, publish it, or Create new automation without leaving the import.

Subscribers enroll only in live automations. Selecting a draft shows a warning that it isn’t live yet. Automations are a paid-plan feature (pricing table: live custom automations are — on Free, 10 on Lite, unlimited on Pro/Enterprise); Free users are prompted to upgrade if they try to publish. More detail: How to create automation workflows on beehiiv.

Tag the whole batch

Use Subscriber tags to search or create a tag applied to everyone in this import—handy for “imported Oct 2026” segments later.

Subscribe to newsletter lists (Pro / Enterprise)

Newsletter lists let you run more than one newsletter inside one publication. Everyone in the import is subscribed to the lists you pick (create a list from here if needed). A person on several lists still counts once toward the plan’s subscriber limit. List names appear in the preference center, so name them for what readers actually signed up for.

Click Next when done.

Review & confirm shows:

  • Automation warnings for any selected automation that isn’t live (with Publish automation)
  • Subscriber count: how many are ready, whether you’re within the plan limit, and room left after import
  • Your selections (field mapping, automation, tag, newsletter list)—edit icons jump back

Click Start import. A confirmation window asks you to agree that:

  1. Everyone you’re importing knowingly consented and opted in
  2. A false claim violates beehiiv’s ToS and Privacy Policy and can lead to immediate termination of service

Click I agree to start, or Cancel to go back.

What beehiiv does after you click I agree

Statuses you’ll see

Under Settings → Subscribers import → Historical imports, each import shows date, file name, and:

StatusMeaning (from beehiiv)
Queued / ProcessingImport is running; Accepted/Rejected counts update until finished
CompletedFinished; new/updated subscribers appear on Subscribers
FailedListed as a status; the import article doesn’t explain causes further (see CSV errors below)
On holdWould exceed plan limit and you imported without upgrading—nothing from that batch is added until you upgrade or you delete/trim/re-import

Uploaded = rows in the file or pasted list. Accepted = added or updated. Rejected = filtered out. Large imports can take a while; beehiiv’s CSV concerns article says small imports (under 100 rows) typically finish within a few minutes, and larger ones typically within about an hour (sometimes longer under load).

Automatic filtering (not a separate “holdback” status)

beehiiv automatically filters duplicate, invalid, and inactive emails. Rejections can include typos / bad syntax, duplicates (existing addresses are updated, not duplicated), blocked or disposable domains, mailbox problems, and unreachable mail servers. The system does not give a list of which addresses were rejected or why—export your current list and compare to the original CSV.

Suppressions

An address can show as Accepted but still not receive mail if it’s on your publication’s Suppression list. Suppressed addresses are skipped at send time, including welcome emails and automations. Check Subscribers → Suppressions.

Account “under review” vs import On hold

These are different:

  • Import On hold = plan subscriber limit (documented on the import article).
  • Workspace under review / blocked = Deliverability & Compliance (high spam complaints, high bounce rates that often signal a list that wasn’t properly opted in, suspicious links, billing issues, AUP/Terms issues, and other trust signals). Sending can pause until resolved. That is account-level, not an import-status label in Historical imports.

We did not find an official import status for a human compliance review of every CSV after you click I agree—beyond email validation, accepted/rejected filtering, the consent attestation, and plan-limit On hold. If your workspace is reviewed later because of bounce or complaint rates, that’s covered in beehiiv’s account reviews and blocks article (updated Oct 12, 2026).

Sources: import article; common CSV concerns (updated Oct 9, 2026); account reviews article—checked October 14, 2026.

Importing from Kit, Mailchimp, or Substack

The free-subscriber import flow above is the shared destination. Note that beehiiv’s Kit, Mailchimp, and Substack migration articles still describe the import screens with slightly older labels (for example “Advanced Configuration” and “Confirm subscribers import”); for the current steps, follow beehiiv’s Oct 1, 2026 import article summarized above. Platform-specific export and cleanup tips live in our migration guides (and beehiiv’s matching help articles):

Coming fromAudienceBench guideExport / cleanup highlights (from vendor docs we checked)
KitMigrate Kit → beehiivExport Confirmed subscribers (Bulk Actions → Export). Default export includes tags, UTMs, and locations. Kit’s location and UTM columns (city, country, utm_*) match names on beehiiv’s reserved-fields list—rename them (for example kit_city) if you want to keep them as custom fields. Map created_at to a date/time field if you want Support to restore original signup dates after import. Per beehiiv, paid subscribers on Kit’s Stripe Express setup can’t be migrated—see that guide.
MailchimpMigrate Mailchimp → beehiivAudience → Export audience → Export CSV. Exports can be a ZIP of subscribed / non-subscribed / unsubscribed / cleaned files (available ~30 days). Import only the subscribed file (beehiiv requires opted-in contacts). beehiiv suggests excluding low engagement (Mailchimp member rating 1 or 2) from early sends.
SubstackMigrate Substack → beehiivSubscribers → Export CSV. Rename reserved country (for example to subscriber_country). beehiiv’s Substack guide also suggests renames for start date / activity and excluding Activity Rating 0 from early sends. One wrinkle: that guide maps Substack’s source column to utm_source, which also appears on beehiiv’s reserved-fields list—if it won’t map as a custom field, rename it (for example substack_source). Paid mapping is a separate Stripe flow—not this free CSV import.

Kit links on this site go through /go/kit (homepage forward; no commission—our Kit affiliate application was declined). We don’t earn from Mailchimp or Substack either. For beehiiv signup: /go/beehiiv.

Subscription dates: by default beehiiv uses the import date as each person’s subscription date. Kit / Mailchimp / Substack migration docs say retaining original signup dates is a Support request after you’ve imported (often after mapping a date column). Treat that as Support-dependent—we haven’t verified turnaround.

CSV best practices and common errors

From beehiiv’s common concerns article (updated Oct 9, 2026):

ProblemWhat beehiiv documents
CSV rejected outrightMissing/unsupported email header; blank cells in the email column; file not really CSV. Email header must be email, email address, or emailaddress (case-insensitive), in the first column.
Excel “not valid” typeRe-save from another app (beehiiv suggests Google Sheets).
Fewer subscribers than the CSVDuplicates updated instead of added; invalid / blocked / disposable / dead mailboxes filtered; compare exports to find who didn’t land—no per-email rejection report.
Custom fields missingColumn unchecked or unmapped; column name is a reserved field—rename it.
Overwrite wiped dataOverwrite toggle was on and the file had blank cells.
Import On holdOver plan limit without upgrading—delete held import, trim, re-import, or upgrade.
Stuck on ProcessingQueue backlog or email-validation stall; check subscriber count / Historical imports; if stuck, Ask beehiiv / support ticket.
Accepted but no emailCheck Suppressions; confirm welcome/automation is live if you expected one.
Automation didn’t enrollSelected automation was still a draft—publish before Start import.
Multiple tags in one cellUse no unescaped commas in the tag column.

Our recommendation

Based on beehiiv’s published docs:

  • Import only people who opted in—the consent step isn’t optional theater; false claims can end the account.
  • Size the plan (or trim the CSV) before Start import so you don’t land in On hold with a full batch frozen.
  • Map carefully: reserve field renames, case-sensitive custom fields, and the overwrite toggle are the usual “where did my data go?” causes.
  • Use batch tags (and Pro newsletter lists when you have them) so “imported from X on date Y” stays segmentable.
  • Warm the list: follow beehiiv’s migration tips to exclude unengaged Mailchimp/Substack segments for the first weeks—high bounces can trigger account review even when the CSV import itself completed.
  • For full platform moves (content, paid readers, domains), use the migration guides linked above rather than this free-CSV article alone.

Try beehiiv · beehiiv pricing explained · Kit → beehiiv · Mailchimp → beehiiv · Substack → beehiiv · Automation workflows

Sources

All beehiiv and Mailchimp sources below re-checked October 14, 2026 unless noted.