Shorten a thousand links in a single upload

Upload a CSV or paste your list — Lix.li processes it as one batch and reports the outcome for every row. Shared UTM tags, labels and group are applied to all links at once.

Available on the Pro and Premium plans. Signing up takes a minute.
One by one
~3 hours
1000 links by hand
As a list
one upload
the same list from a file

links.csv shop.example/p/1 shop.example/p/2 shop.example/p/3 1000 lix.li lix.li/a2Ag4 lix.li/sZ8gR lix.li/kP3mT utm_source=promo

Why shorten links in bulk

Shortening by hand does not break on the first hundred links — it breaks on upkeep: tags applied inconsistently, links lost along the way, nothing to join the stats on.

One upload instead of a thousand actions

Paste a URL, press a button, copy the result — across a thousand links that is hours of mechanical work. A list is handled in a single upload.

The same tags across the whole batch

UTM tags, labels and group are set once and applied to every link. No more campaigns where half the traffic arrives without utm_source and the other half with a typo in it.

A report for every row

You can see which links were created and which were not, and why: alias taken, malformed URL, plan limit reached. One bad row does not cancel the whole upload.

The same analytics as any other link

Every created link is a normal one: clicks, geography, devices, sources. A group collects the stats for the whole campaign at once.

Custom aliases straight from the file

The second CSV column can hold a readable alias for each link — useful for print and offline ads, where people type the address by hand.

The same thing from your code

If the links are born inside your own system, a single API request gives the same result — no file export, no manual upload.

When you need it

Bulk shortening is not about “many links” — it is about tasks where there are too many links to keep track of by hand.

Product catalogue and price list

An export from your ERP or marketplace where every item has its own URL. Short links with a shared channel tag show which products actually get opened.

Email campaigns and CRM

A newsletter with dozens of personalised destinations. The links are prepared as a list in advance instead of being templated at send time.

Partner network

A dedicated link for every partner or point of sale. A shared group gives the programme-level picture, each link gives the individual one.

Print and offline

Catalogues, business cards, outdoor ads: a short address fits the layout, and the clicks show which medium worked.

What happens after the upload

The upload does not block the interface: the list goes into processing while you watch the progress.

Parsing the file

The CSV is parsed in your browser: rows land in a list where each one can be edited or removed before sending. A header row is detected automatically.

Checking the rows

Destinations are validated before shortening. Invalid rows are flagged right away with the reason, and the rest are processed as usual.

Processing in chunks

Links are created in chunks in the background. You can close the page: the upload keeps going and the result stays in your list of uploads.

The finished list

The upload card shows a short link next to every source URL, a filter for failed rows, and a way into the stats of any link.

How to shorten a list of links in 4 steps

1

Sign up for Lix.li and open the Bulk shortening section.

2

Upload a CSV with your destinations or paste the links one per line — each becomes a row you can still edit.

3

Set the shared parameters for the batch: group, tags and UTM tags. They will be applied to every link.

4

Press Shorten and watch the progress. When the upload finishes, the short links sit next to every row.

Frequently asked questions about bulk shortening

Up to 1000 links per upload. You can run several uploads, limited by your monthly plan allowance: 100 links a month on Pro, and no monthly cap on Premium (up to 30,000 a day).
A plain CSV. The first column is the destination URL, the optional second one is a custom alias. A header row is detected automatically, and the delimiter is detected too: comma, semicolon or tab. The file is parsed in your browser and reaches the server as a ready list.
Yes. You can paste links one per line straight into the form — each becomes its own row that you can edit or remove before sending.
The upload is not cancelled as a whole. Every row is handled separately: invalid ones are flagged with a reason, the rest are shortened as usual. The outcome per row is visible in the upload card, which also has an “errors only” filter.
Yes, in the second column of the file. If such an alias is already taken, that row is marked “alias already in use” and the other links are still created. Without a custom alias the address is generated automatically.
No. They are ordinary Lix.li links: click stats, geography, devices, UTM tags, tracking pixels, QR codes and expiry all work the same way.
Processing runs in the background in chunks. You can close the page and come back later — the progress and the finished list stay in the uploads section.
Yes, with the Cancel button in the upload card. Links already created stay, and the remaining rows are not processed.
Yes. POST /api/1.0/links/batch accepts up to 100 links per request and returns the outcome for every row. Shared parameters are set once in the defaults field.
Pro and Premium. The section is not available on the free plan, where links are created one at a time.

What else Lix.li links can do

A bulk upload creates ordinary links, so every feature of the service applies to them.

Upload your list and get short links

Signing up takes a minute, and the bulk shortening section opens right after it.

Start for free
No card required. Bulk shortening is available on the Pro and Premium plans.