Migration GuideMost imports take minutes

Migrate from Bitly to Flyn

Export your Bitly links, preview them in Flyn for free, and keep links on your branded domain working when you move its DNS to Flyn and verify it

Last updated: September 2026

Previewing is free on every plan. Importing needs Pro, Lifetime or Team.

Already have a Flyn account? Open the importer

Pre-Migration Checklist

Complete these steps before starting the migration to ensure a smooth transition.

  • 1
    Export all links from Bitly as CSV and check the file opened correctly (Data Export needs Bitly Growth or above; on Free or Core, use the Bitly API)
  • 2
    If your links use your own branded domain, add it in Flyn (Settings > Domains) before you import
  • 3
    Document your current custom domain DNS settings (screenshot recommended)
  • 4
    Note any links with special routing rules or redirects
  • 5
    Check your Flyn plan: previewing an import is free, creating the links needs Pro, Lifetime or Team
  • 6
    Notify your team about the upcoming migration window

Step 1: Export from Bitly

First, get your existing links out of Bitly so you can import them into Flyn.

1

Check that your Bitly plan can export

Bitly lists Data Export on its Growth, Premium and Enterprise plans; Free and Core accounts cannot export from the web app (Bitly pricing page, checked September 2026). Branded domains are also a Growth-and-above feature, so if your links use your own domain, your plan can export them.

2

Export all links

Open Links in the left sidebar, click Export, choose the email address to send it to, and confirm. Bitly emails the CSV; large exports can take up to 30 minutes. The file has a Status column that marks deleted links; Flyn skips those rows (set that column to Do not import in Review to include them).

3

Or export a selection

On the Links page, tick up to 100 links and choose Export to download them straight away.

4

No export on your plan?

Every Bitly plan can use the Bitly API within its monthly request quota. GET /v4/groups/{group_guid}/bitlinks lists your links; save each link and its long_url as a CSV. For a handful of links, copying them into a spreadsheet works too.

Step 2: Import into Flyn

Upload your export and Flyn detects the format, maps the columns (you can change any of them), and previews every link before anything is created. Previewing is free; importing needs Pro, Lifetime or Team.

Using your own branded domain? Add it in Settings > Domains before you import (Step 3 lists the DNS records), so the preview can match those links to it. Want to look first? Drop the file on the migration page: it is read in your browser and nothing is uploaded.

1

Create a Flyn account

Sign up at flyn.to/signup, no credit card required. Uploading and previewing an import is free on every plan; creating the links needs Pro, Lifetime or Team.

2

Open Links > Import links

In the Flyn dashboard, open the Links page and choose Import links, or go straight to flyn.to/links/import.

3

Upload your Bitly CSV

Drag and drop the file onto the importer, click to browse, or paste the rows (CSV, TSV and plain text all work). Flyn recognizes the column names Bitly documents for its export (Link, Custom Link, Title, Destination URL, Date created, plus the older Bitlink and Long URL names). Bitly does not publish a sample file, so check the suggested mapping. You can change any column mapping in the Review step.

4

Preview, then import

The preview shows what will happen to every link before anything is created. Links on your own branded domain can keep their back-halves when that domain is added in Flyn first. Links on bit.ly cannot move, so each gets a new Flyn link on flyn.co (or a domain you pick in the preview). Choose whether to reuse old back-halves on flyn.co where they are free, and whether a taken back-half is skipped or renamed; existing links are never overwritten. Then start the import and download the report that maps each old short link to its new one.

Step 3: Domain & DNS Migration

Only links on your own branded domain can keep working after the move. Add the domain in Flyn and import its links before you switch DNS, so the links are already there when traffic arrives. Links on domains Bitly owns stay with Bitly, and printed QR codes that encode those links keep pointing there.

1

Add your domain in Flyn first

In Flyn, go to Settings > Domains > Add Domain and enter your branded short domain (for example go.yourcompany.com). Custom domains are included on Pro, Lifetime and Team, up to 3 per account. Do this before you import, so the preview matches your links to the domain.

2

Add the TXT record and click Verify

At your DNS provider, add the TXT record Flyn shows: _flyn on your root domain (_flyn.yourcompany.com, even when the short domain is go.yourcompany.com; many DNS panels want just _flyn as the name) with the flyn-verify value. Click Verify. This proves you own the domain and does not change where your links point.

3

Point the domain at Flyn

After your links are imported, replace the record that points your domain at Bitly (usually a CNAME to cname.bitly.com): use a CNAME to cname.flyn.to for a subdomain, or an A record to 76.76.21.21 for a root domain. Keep the hostname the same.

4

Verify again and test

DNS changes usually apply within minutes but can take up to 48 hours. Click Verify again: Flyn marks the domain Active once it finds the TXT record and the record pointing at Flyn. Then open a few old short links to confirm they redirect.

DNS Record Summary

FieldBeforeAfter
TypeCNAMECNAME (subdomain) or A (root domain)
Hostgo (or your subdomain)go (no change), or @ for a root domain
Targetcname.bitly.comcname.flyn.to or 76.76.21.21
Ownership (TXT)None_flyn.yourcompany.com with the flyn-verify= value from Settings > Domains

What Transfers

Here is what carries over from Bitly to Flyn and what needs to be reconfigured. A back-half can be reused when it uses only letters, numbers, hyphens and underscores and is not reserved for Flyn's own pages; the preview flags the rest, and those links get a new random back-half.

ItemTransfersNotes
Destination URLsAll long URLs are preserved exactly as-is
Custom back-halvesOn your domainKept on your own branded domain when it is added in Flyn before you import. Back-halves from bit.ly can be reused on flyn.co (or a domain you pick in the preview) when they are free
TitlesIf in fileThe Title column of the all-links export maps to the link title; the select-up-to-100 export has no title
TagsIf in fileBitly's export field list does not include tags; if your file has a tags column, Flyn maps it
Custom domainsAdd it in Flyn before importing, then switch the CNAME from cname.bitly.com to cname.flyn.to (root domain: A record 76.76.21.21) and click Verify
Click analyticsHistorical analytics stay in Bitly, new clicks tracked in Flyn
QR codesRegeneratePrinted QR codes that encode your own domain follow it to Flyn; ones that encode bit.ly keep pointing there. New QR codes are free in Flyn
bit.ly short linksbit.ly is owned by Bitly, so those links stay there. Each gets a new Flyn link, and the import report maps old to new

Post-Migration Verification

After completing the migration, work through this checklist to verify everything is working.

  • Verify 5-10 sample short links resolve to correct destinations
  • Confirm custom domain shows a green checkmark in Flyn dashboard
  • Check that new clicks are appearing in Flyn analytics
  • Test QR codes if you regenerated them in Flyn
  • Use the import report to replace published bit.ly links with their new Flyn links where you can
  • Update any integrations or API calls to use Flyn endpoints
  • Keep your Bitly account active for 30 days as a safety net

Troubleshooting

Common issues and how to resolve them.

Links returning 404 after migration

DNS changes can take up to 48 hours to reach everyone. Use a DNS checker (like whatsmydns.net) to confirm the record points to cname.flyn.to (or 76.76.21.21 for a root domain), and clear your browser cache. The domain should show Active under Settings > Domains; if it does not, click Verify there. If you imported before adding the domain in Flyn, those links were created on flyn.co: add the domain and run the import again.

Old bit.ly links still go to Bitly

The bit.ly domain is owned and operated by Bitly, it cannot be migrated. Only links on your custom branded domain (e.g., go.yourcompany.com) keep their URLs. bit.ly links will continue working through Bitly; the import report lists the new Flyn link for each one.

Analytics showing zero clicks after import

Historical analytics from Bitly do not transfer. Flyn counts clicks from the moment traffic reaches Flyn, so new clicks appear once your links are live on Flyn and your domain points at it.

Columns mapped to the wrong fields

Bitly has renamed its export columns over time (Bitlink became Link, Long URL became Destination URL). Flyn accepts both generations; if a column is still mapped wrong, change it in the Review step. If accented characters look broken, save the file as UTF-8 CSV.

Frequently Asked Questions

How long does it take to migrate from Bitly to Flyn?

Most of the time goes into the export: Bitly emails the file, and large exports can take up to 30 minutes. In Flyn, the importer creates links in batches of 100 with a progress bar, so most imports take minutes. Accounts in their first week may have a daily limit on new links; if an import reaches it, the importer stops and lets you download the remaining rows as a file to import once 24 hours have passed. If you move a branded domain, DNS changes usually apply within minutes but can take up to 48 hours.

Will my existing short links break during migration?

Links on your own branded domain keep working if you import them onto that domain before you switch DNS: add the domain in Flyn, import, then change the record and click Verify. While DNS updates, some visitors still reach Bitly and others reach Flyn, and requests can fail briefly while the SSL certificate is issued, so keep your Bitly account active until the switch is done and lower the record's TTL a day ahead. Links on bit.ly are not affected by the move and keep working through Bitly.

Can I migrate bit.ly links to Flyn?

No. The bit.ly domain is owned by Bitly, so those links stay with Bitly. The importer creates a new Flyn link for each one, and the import report maps every old bit.ly link to its new Flyn link. Links on your own custom domain (like go.yourcompany.com) can keep working: import them onto that domain in Flyn, then move its DNS to Flyn and click Verify.

Do my Bitly analytics transfer to Flyn?

Historical click data stays in Bitly. Once your domain points to Flyn, all new clicks are tracked in Flyn's analytics with richer data including real-time streams, city-level geo, and A/B test metrics.

Can I keep using Bitly and Flyn simultaneously?

Yes. You can create new links in Flyn while keeping your Bitly account active. However, a custom domain can only point to one service at a time via DNS.

Is there a limit on how many links I can import?

Previewing an import is free on every plan, and on the free plan you can still create 25 links a month by hand. Importing needs Pro, Lifetime or Team, with no cap on how many links you import. Accounts less than 7 days old may have a daily limit on new links, an abuse safeguard; if an import reaches it, the importer stops cleanly and lets you download the rows that were not imported, to import once 24 hours have passed. The REST API takes one destination per request (Create Many only copies a single destination) and is rate limited, so the importer is the way to move a whole account.

What happens to my Bitly API integrations?

You will need to update API calls to use Flyn's REST API. The endpoints and authentication differ; Flyn's API creates, lists, updates and deletes links and returns click stats, and API keys need a paid plan (Pro, Lifetime or Team). See the API docs at flyn.to/docs.

Ready to Migrate from Bitly?

Create a free Flyn account and preview your Bitly import at no cost. No credit card required to sign up. Importing needs Pro, Lifetime or Team, and most imports take minutes. Accounts in their first week may have a daily limit on new links; if an import reaches it, the importer stops and lets you download the remaining rows as a file to import once 24 hours have passed.

Already have a Flyn account? Open the importer

More Migration Guides