Importing, exporting and moving links

Export every link to CSV, create many links from a spreadsheet, and move links from another service.

Your links are yours. You can download all of them at any time on every plan, and on Business you can create hundreds at once from a spreadsheet.

Export your links

  1. Open Links.
  2. Choose Export CSV. A file named like links-2026-10-15.csv downloads.

The file has the links the list shows: search or filter first (for example by folder or tag) to export just those. To export particular links, tick them and choose Export CSV under With the links.

It has one row per link, leaving out archived and deleted links, with these columns: short_url, destination_url, title, tags (separated by ;), state, created_at (UTC), total_clicks and link_id. It opens in Excel, Numbers or Google Sheets.

For click figures by day, use analytics CSV export instead.

Import links from CSV

Business plan. Each new link counts towards your monthly allowance.

  1. Open Links and choose Import CSV.
  2. Choose Download template if you want a file to start from, and fill it in with one link per row. Save it as CSV (UTF-8).
  3. Choose the file and select Import.
  4. Read the summary and the row-by-row results. See Import results.

A small example file:

links.csv

destination_url,back_half,title,tags,domain
https://example.com/spring-sale,spring-sale,Spring sale,email;spring,
https://example.com/catalogue.pdf,,Catalogue 2026,print,go.example.com
https://example.com/contact,,,,

Limits: one file can be up to 1 MB and as many rows as your plan allows in one go (1,000 on Business by default).

CSV columns

The first row must be a header. Column names aren't case-sensitive, and spaces count as underscores, so Long URL works as long_url.

ColumnRequiredWhat it's forAlso recognised as
destination_urlYesWhere the link goes.destination, url, long_url, original_url, target_url, target, redirect_url, long_link
back_halfNoYour own back-half. Leave blank for a random one.back-half, alias, custom_back_half, slashtag, slug, keyword, custom_alias
titleNoA name for the link.name
tagsNoTags separated by ; or |.tag, labels
domainNoOne of your custom domains. Blank uses bgum.me.short_domain
short_urlNoA full short link such as go.example.com/spring. Gives both the domain and the back-half.short_link, shortlink, short_link_url, bitlink, custom_bitlink

Other columns are ignored, so files exported from other short-link services usually work as they are.

Import results

After the import you'll see how many links were created, already created, failed and not attempted, then one row per line of your file.

  • Created: a new link, with its short link.
  • Already created: you uploaded the same file in the last 48 hours, so the link from last time is shown instead of making a duplicate. This makes it safe to upload again after fixing a few rows.
  • Failed: the row couldn't be created. The reason is shown, such as a back-half that's taken or an address that isn't valid.
  • Not attempted: your monthly allowance ran out part-way. Upload the same file again after the reset or an upgrade to finish it; nothing is duplicated.

Choose Download results to keep a CSV of every row with its previous address (if any) and its new short link.

Move from another short-link service

Bring your branded domain and its existing short links with you, without breaking links that are already printed or shared.

  1. Add your domain in Domains and publish its TXT record. Don't change where the domain points yet. Once the TXT record is found, links can be moved onto the domain while it still points at your old service. See Custom domains.
  2. Ask us for a migration allowance if you have more links than your monthly allowance. Links moved with it don't use your monthly allowance. Contact us with roughly how many links you have.
  3. Export your links from the old service as CSV.
  4. Import the file in Links → Import CSV, ticking These links are moving from another service. Links keep their back-halves, even short ones and ones that start or end with a hyphen. Reserved words are still refused. Up to 5,000 links per file.
  5. Links on the old service's own domain (for example bit.ly/abc) can't keep that domain. Tick the option to put them on bgum.me instead; they keep their back-halves where those are free, and the results show each new address.
  6. Check the results and choose Download results for your records.
  7. Point your domain here by changing its CNAME record as shown in Domains. Links start working here as soon as the change reaches visitors, usually within an hour.

Capitals in back-halves

Back-halves here don't depend on capitals: Sale and sale are the same link. If your old service treated them as different links, the second is reported as taken and you can give it a new back-half.

Common problems

MessageWhat to do
"Add a column named destination_url"The header row has no destination column. Rename the column holding the long addresses to destination_url.
"The file needs a header row and at least one link"The file is empty or only has a header. Check you saved the right sheet.
"Your plan allows up to … links per import"Split the file into smaller files.
"… isn't one of this workspace's domains"Add the domain in Domains first, or tick the option to use the default domain.
Strange characters such as éSave the file as "CSV UTF-8" and import it again.
Importing links is part of the Business planExporting works on every plan; importing needs Business. See plans.

Something missing or unclear? Tell us and we'll improve this page.