Skip to main content

Importing from another shortener

Move your existing links from Bitly, Dub, Rebrandly, or Short.io and keep every published address working.

Reviewed 24 Oct 2026Available from the Starter plan

Open LinksIn your workspace. You are asked to log in first if you are not already.

What migration actually preserves

The point of a migration is not to copy your links. It is to keep addresses already printed on business cards, packaging, and published pages working after you leave your old provider.

That only works if the links were on a domain you own. ShortZen recreates each slug under one of your verified custom domains; once you point that domain's DNS at ShortZen, every old address resolves here instead of there, unchanged.

Links on your old provider's shared domain cannot be migrated

If your links look like bit.ly/abc123, that address belongs to your old provider and there is no way for anyone else to serve it. You can still import them so the destinations and titles are in ShortZen, but the old addresses will stop working when you close that account. Only links on a domain you control survive the move.

Before you start

  1. Add your domain in ShortZen and get it verified. The migration wizard will not proceed without one.
  2. Export your links from your current provider as CSV.
  3. Check your migration allowance covers the number of links you are bringing.
One-time import allowance, by plan
Free Not included · Starter 2,000 · Pro 10,000 · Business 50,000

A single import is also capped at 5,000 rows and 2 MB, on every plan. That is a ceiling on one upload rather than on your allowance, so a large allowance is spent over several imports. The wizard refuses an oversized file at the preview step and tells you which of the two ceilings it crossed. Split the export into files under both before you start.

The allowance is separate and one-time

Migrated links do not consume your monthly link quota: they get their own lifetime budget, because moving in should not cost you a month of normal work. It does not reset each month, so it is worth getting the import right rather than doing it repeatedly.

Formats we recognise

Upload the provider's own export and ShortZen works out the format for itself. Bitly, Dub, Rebrandly, and Short.io are recognised automatically; you can also pick the format by hand if detection gets it wrong.

If your provider is not on that list, export to a generic CSV with these three columns:

destinationUrl,slug,title
https://example.com/pricing,pricing,Pricing page
https://example.com/demo,book-demo,Book a demo

You can upload a file or paste the contents straight into the wizard, whichever is easier.

Preview, commit, undo

Nothing is created until you say so. The wizard shows you a preview first, broken down four ways.

Preview figureMeaning
Will migrateRows that will become links if you commit.
Rows in fileHow many rows were read in total.
Skipped (conflicts)The slug already exists on that domain in ShortZen.
Skipped (invalid)The row could not be read, or its destination is not a usable URL.

If the number of importable rows exceeds your remaining allowance, the preview warns you before you commit rather than stopping halfway through.

You can undo a committed import

Each import is recorded as a batch and can be undone. Undo removes the links that import created and refunds the allowance they spent, so a wrong file costs you the time and nothing else. Undo is rate-limited, so do it deliberately rather than treating repeated import-and-undo as a way of working. One caveat: a link clicked in roughly the last hour may not be removed on the first undo, because its click has not finished processing yet. The wizard tells you how many were skipped this way. Undo the same import again once that number reaches zero and the remaining links are removed.

A migrated link carries its old provider's historical click total from the moment it is created here: that number becomes the link's starting click count, so the total shown in your Links table and on the link's detail view already includes everything it recorded before it ever reached ShortZen.

Analytics works differently: it only ever counts clicks ShortZen itself has recorded, day by day, starting from the moment the link was imported. There is no per-day, per-country, per-device breakdown for clicks that happened on your old provider, so Analytics has nothing to add them from. Its "Total clicks" figure for that link will be smaller than the one on the link itself, by exactly the historical amount that came in from the old provider.

That gap is permanent, and expected

It will not close over time. The link's own click count is a running total (old history plus everything tracked since); Analytics is, by design, only what ShortZen has measured itself. Seeing the two disagree on a migrated link is the two figures working as designed, not a sign that clicks are missing.

Step by step

Move your links across without breaking published addresses

For: Workspace owners and admins

Before you start

  • A plan that includes a migration allowance (the Free plan has none).
  • A custom domain added in ShortZen and showing as verified.
  • A CSV export from your current provider.
  • Access to your domain's DNS settings for the final cutover.

Steps

  1. Confirm your domain shows as Live under Domains.

    Do not start the import before this. The wizard's first step will refuse to continue without a verified domain.

  2. Open Links and start the migration wizard.

  3. Choose the domain to migrate onto.

    Your slugs will be recreated under that hostname.

  4. Upload your provider's export, or paste it into the box.

    Leave Source format on Auto-detect unless the preview names a format you know is wrong.

  5. Read the preview carefully.

    You see how many rows will migrate, and how many are being skipped as conflicts or invalid rows.

  6. If the skipped counts are higher than you expected, stop and fix the file rather than committing.

    It is much easier to correct a spreadsheet than to reconcile a half-migrated link set afterwards.

  7. Commit the import.

    The links are created in the background and appear in your Links table.

  8. Test several migrated slugs on your domain: a popular one, a recent one, and one with an unusual slug.

    Each resolves to the right destination.

  9. Only now, repoint your domain's DNS from your old provider to ShortZen.

    Traffic on already-published addresses starts arriving here.

  10. Leave your old account open for a few weeks before closing it.

    DNS changes take time to reach everyone, and this is the cheapest possible insurance.

What you should see

Your links live in ShortZen under your own domain, every previously published address still resolves, and click tracking continues without a gap in coverage.

How to check it worked

  • A sample of migrated slugs opens the correct destination on your domain.
  • The Links table shows the imported links, and the import appears in the wizard's history.
  • New clicks on migrated links appear on the Analytics page.

Edge cases

Your export has more links than your remaining allowance.
The preview warns you. Import your most important links first (sort the file by click volume), or upgrade for a larger allowance. Either way the allowance is spent over several imports rather than one, since no single file may exceed 5,000 rows or 2 MB.
A lot of rows are skipped as conflicts.
Those slugs already exist on that domain in ShortZen, usually from an earlier partial import. Check the import history before assuming the file is wrong.
Your links were on the old provider's shared domain.
Import them to preserve destinations and titles, but plan a redirect strategy on the old side. The old addresses cannot be made to work here.

If something goes wrong

You committed the wrong file.
Use Undo on that import from the wizard's history. It removes the links that import created and returns the allowance they spent, so you can correct the file and import again. Undo is rate-limited, so do it once, deliberately. If a link or two were clicked in the last hour, undo may report a small number as skipped rather than removed. Undo the same import again shortly and it will finish the job.
Migrated links 404 after the DNS change.
Check the domain still shows as Live in ShortZen, and that the slug exists in your Links table under that domain. A slug that was skipped during preview was not created.
Some traffic still reaches your old provider.
DNS propagation, not a fault. Keep both live until it settles.

Try it on a real link

The free plan needs no card and has no time limit.