Bulk shorten URLs
Turn a spreadsheet of long URLs into short links in one import. How to format the CSV, what happens to rows that fail, and how the quota check works.
If you have a spreadsheet of URLs — product pages, store locations, a set of campaign variants — you can import the whole thing at once instead of pasting them one at a time.
The file
A CSV with one row per link. The only required column is the destination URL.
url,title,custom code,tags
https://example.com/a,Spring landing,spring,campaign;spring
https://example.com/b,Summer landing,,campaign
https://example.com/c,Autumn landing,autumn,
- url — required.
- title — optional, but worth filling in. It is what makes the list searchable later.
- custom code — optional. Blank means an ending is generated for you.
- tags — optional, separated by semicolons.
A header row is detected automatically, so you can include one or not.
What happens when you import
- The file is parsed and checked. You see how many rows were found and how many need a custom ending.
- Your quota is checked before anything is created. If the file needs more links or more custom endings than your plan allows, you are told before the import starts — including whether an annual plan would cover it, if that happens to be cheaper than the next tier up.
- You choose the domain, if you have more than one.
- You review, then start the import.
- You get a report — a CSV with a row per input row, its resulting short link, and a reason for anything that failed.
Large files are imported in chunks so that no single request can time out. If something goes wrong part-way, the links already created stay created.
Rows that fail
The most common causes:
- The custom ending is already taken. A requested ending that is unavailable is reported as a failure rather than being silently replaced with a random one — otherwise you would have a link in your account that nobody asked for and nobody knows about.
- The URL is not valid, or points somewhere that cannot be shortened.
- Quota ran out mid-import, if links were also being created elsewhere at the same time.
Fix the reported rows and re-import just those.
Availability
Bulk import is included from the Velocity plan upward. See the pricing page.
Tips
- Tag everything on the way in. Adding tags during import costs nothing; adding them to 400 links afterwards is an afternoon. See Organise links with tags.
- Put the campaign in the title, not just the tag, so the list reads well.
- Check a couple of destinations by hand before importing hundreds. A wrong path segment repeated 300 times is the classic bulk-import mistake.
Frequently asked questions
What happens if one row fails?
Only that row. The rest still import, and you get a CSV report naming every failure and its reason.
Can I choose the custom endings in the file?
Yes. Leave the column blank for an automatic ending, or fill it in to claim a specific one.
What if I do not have enough quota?
The file is checked before anything is created, so you are told up front rather than part-way through.
Last updated 2026-08-24