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
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
Before you start
- Add your domain in ShortZen and get it verified. The migration wizard will not proceed without one.
- Export your links from your current provider as CSV.
- 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
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 demoYou 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 figure | Meaning |
|---|---|
| Will migrate | Rows that will become links if you commit. |
| Rows in file | How 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
Why the click count on the link and in Analytics don't match
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
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
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.
Open Links and start the migration wizard.
Choose the domain to migrate onto.
Your slugs will be recreated under that hostname.
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.
Read the preview carefully.
You see how many rows will migrate, and how many are being skipped as conflicts or invalid rows.
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.
Commit the import.
The links are created in the background and appear in your Links table.
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.
Only now, repoint your domain's DNS from your old provider to ShortZen.
Traffic on already-published addresses starts arriving here.
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.