Elido
Help center

Shortening Links

Bulk import links from a CSV

Format a CSV, import up to 50,000 links in one run, and fix errors the importer flags before anything is written.

Updated 2026-05-12

If you have a spreadsheet of destination URLs you want to shorten all at once — migrating from another tool, launching a campaign, or seeding a new workspace — the bulk importer is the right path. It previews mistakes before anything is committed, so you can fix issues without partial imports.

CSV format#

The importer expects a comma-separated file with a header row. The only required column is destination. Everything else is optional.

destination,slug,title,tags
https://acme.com/spring-sale,spring-2026,Spring Sale 2026,campaign:spring
https://acme.com/about,,About Us,
https://acme.com/contact,contact-us,,support:contact

Column rules:

  • destination (required) — the full URL including https://. URLs without a scheme are rejected.
  • slug (optional) — a custom short slug. Letters, numbers, and hyphens only. If blank, we generate a random 6-character code.
  • title (optional) — a human-readable label shown in the links list.
  • tags (optional) — one or more tags separated by colons or semicolons. Tags are created automatically if they don't exist.

Column order doesn't matter as long as the header names match. Extra columns are ignored.

Start an import#

  1. Go to Tools → Bulk import (or click the import button from Links).
  2. Upload your CSV file. The importer parses it and shows a preview table.
  3. Review the preview. Any row with an error is highlighted — hover over the error icon to see what's wrong.
  4. Click Import to write the valid rows. Errored rows are skipped.

The import runs in the background. For large files, a progress indicator shows how many rows have been processed. You'll get a summary email when it's done.

Each import run is limited to 50,000 rows. If your file is larger, split it into multiple files and run them sequentially. There's no daily limit on import runs.

Deduplication#

The importer checks slugs against existing links. If a row's slug already exists in the workspace:

  • The row is skipped with an error ("slug already taken").
  • The existing link is not modified.

If the slug column is blank, we always generate a new unique code, so blank-slug rows never conflict.

If you're re-importing a file you've partially processed before, the importer is idempotent for blank-slug rows (each run creates new links with new codes). For explicit slugs, only rows with slugs that don't already exist in the workspace will succeed.

Common import errors and fixes#

"Invalid URL" — the destination doesn't include a scheme (https://) or contains characters that aren't valid in a URL. Fix the cell in your spreadsheet and re-upload.

"Slug already taken" — a link with that slug exists. Either remove the slug to get an auto-generated one, or change it to something unique.

"Slug contains invalid characters" — slugs can only contain letters (a-z, A-Z), numbers (0-9), and hyphens (-). Spaces, underscores, and dots are not allowed.

"File too large" — the file exceeds the 50,000-row cap. Split it and import in batches.

"Destination blocked" — our URL scanner flagged the destination as malicious or in a blocked category. If you believe this is a false positive, contact support with the URL.

Troubleshooting#

My import finished but some rows are missing. Download the import report — a link appears in the import summary. The report shows which rows were skipped and why. Most skips are duplicate slugs or invalid URLs.

The importer says the file is malformed. Make sure the file is actually CSV (not TSV or Excel .xlsx). Open it in a text editor and confirm commas are the delimiter and the header row is present.

Import is stuck at "processing". Large imports (tens of thousands of rows) can take a few minutes. Refresh the page to check the current status. If it's still stuck after 10 minutes, contact support with the import ID shown in the URL.

Was this helpful?
Need more? Email the team — replies within one working day.Contact support
Bulk import links from a CSV · Elido