Bulk QR code and barcode generator
Paste your list and get a named code for every row. Up to 500 a batch, free with no account.
Or barcodes: EAN-13, UPC-A, Code 128 and more.
What is in your list?
One web address per row.
The template's columns are label, value and kind.
Name each row, like Table 4, https://example.com/table-1. The name becomes the file name now and the label you search for later.
On this page
QR codes from an Excel list
- Copy two columns. Names, then links. Each row becomes a code named after its first cell, and a heading row like Name, Link is skipped.
- Generate. Every code shows in the preview. Rows that can’t become a code are listed with the reason, and the rest go ahead.
- Download. PNG or SVG, numbered and named from the row: 1-Table-4.png, cut at 40 characters. Product rows are named by their GTIN. More than 8 files come as one ZIP.
Bulk barcodes, every check digit checked
Switch the tool to Barcodes for 12 types, from EAN-13 and UPC-A to Code 128 and GS1 DataMatrix, 500 a batch. Every row gets a verdict before anything is drawn:
- Error, with the row number: Row 14: the check digit should be 7, not 2. That row is left out.
- Fixed: one digit short, so the check digit was added. One click undoes it.
- Repeat: marked and kept, since twenty labels for one product is normal.
PNG at 4 or 8 pixels a bar, about 308 or 616 dpi at EAN’s standard size · SVG, vector. Pick which column names the files and what prints under the bars. The ZIP has a report.csv with each row’s status.
Label sheets
| Paper | Labels a sheet | Label size | Sold as |
|---|---|---|---|
| A4 | 24 (3 × 8) | 63.5 × 33.9 mm | L7159 size |
| A4 | 24 (3 × 8) | 70 × 37 mm | Edge to edge, no gaps |
| A4 | 21 (3 × 7) | 63.5 × 38.1 mm | L7160 size |
| A4 | 14 (2 × 7) | 99.1 × 38.1 mm | L7163 size |
| US Letter | 30 (3 × 10) | 2⅝ × 1 in | 5160 size |
| US Letter | 20 (2 × 10) | 4 × 1 in | 5161 size |
| US Letter | 10 (2 × 5) | 4 × 2 in | 5163 size |
Vector PDF, one page a sheet, 10 to 30 labels. Start at any label to use up a half-used sheet. You’re warned when barcodes would print below 80% of standard size. Print at actual size, never “fit to page”.
Need one barcode, or help picking a type? Use the barcode generator.
A QR code in every Excel cell
Put this in B2 and fill it down. Every row gets a code for what’s in column A.
=IMAGE("https://app.qrsalt.com/api/qr/free?format=png&size=256&data="&ENCODEURL(A2))- Needs IMAGE() and ENCODEURL(), as in Excel for Microsoft 365 on Windows. Google Sheets takes the same formula.
- 240 codes an hour, shared by your network. For longer lists, paste them into the tool above instead.
- Static codes: they can’t be changed later, and scans aren’t counted.
Longer lists, and codes you can change
| Compared | Free, on this page | In your account, Starter and up |
|---|---|---|
| Rows | 500 static a batch | 1,000 a file, as many as your plan’s dynamic codes |
| Kinds of row | 6 kinds of QR code, or 12 barcodes | 11 kinds, one kind per file |
| Where it’s made | In your browser; static rows never reach us | On our side, after a preview of every row |
| What you get | PNG or SVG files | A CSV of the new short links, and any code as PNG or SVG |
| Change a link later | No | Yes, 500 codes to an action |
| Scan counts | No | Per row |
Skipped rows, before anything is made
Nine rows pasted, seven codes to make. The two that can’t be used are listed with the reason, and you can download them to fix.

Change hundreds of codes at once
Select codes in your list and act on up to 500 at once. Any that can’t change are listed with the reason.
Tick the codes, then pick one action
The bar along the bottom counts what you ticked.

- Pause and resume
- Every plan
- Export to CSV
- Every plan
- Delete, after typing the count
- Every plan
- Move to a folder, add or remove tags
- Starter and up
- Add campaign tags to every link
- Starter and up
- Move to your own domain
- Starter and up
Bulk QR codes, answered
Can I generate QR codes from an Excel file?
Not from the .xlsx itself. Copy the columns and paste them, or save the sheet as CSV and upload that. Commas, tabs and semicolons all read.
How many QR codes can I make at once?
500 static codes a batch, free. A paste is read to 1,000 rows, so send the rest as a second batch. Starter and up import a 1,000-row file in one go.
Is my list uploaded?
No, not the static rows: they’re drawn in your browser. Dynamic rows are sent only when you press Continue, and we keep them for a day so they’re waiting in the importer.
Which barcode numbers get a missing check digit added?
Only numbers exactly one digit short: EAN-13, EAN-8, UPC-A, ITF-14, ISBN, or a GTIN after (01). A wrong check digit is never replaced, and one click undoes every fix.
How do I put the codes into a mail merge or print run?
Add a column with each row’s file name, with the folder in front. In InDesign’s Data Merge, start that column’s heading with @ and every record gets its own code.
Can I shorten a column of links without QR codes?
Yes, in the importer. Tick “Send me the short links as a spreadsheet” and a file of long links comes back as short ones, each one editable and counted.
After the batch
- Barcode generatorOne barcode at a time, and which type to pick.
- QR code APIWhen the list is a database table, not a sheet.
- Custom domain QR codesYour own domain on a whole batch.
- Restaurant menu QR codesA code for every table.
Last reviewed , against the product as it works today.
Priced by the dynamic rows
Static rows are free. Each dynamic row uses one of your plan’s dynamic codes: Starter holds 100 for $5 a month.
Free
$0/mo
Unlimited static codes. Three editable ones that never expire.
- Short links on their own, no QR code needed
- Up to 1 of the 3 can be a QR Menu
- Add your logo to QR codes
- Every shape, corner and frame
3dynamic codes
Starter
Recommended$5/mo
For one business with codes out in the world.
- 5 QR Menus
- QR Forms
- GS1 Digital Links we host, so a printed pack can be re-pointed
- Advanced tracking and analytics
100dynamic codes
Pro
$15/mo
For agencies and teams running codes at scale.
- 50 QR Menus
- Unlimited analytics history
- 10 custom domains
- 5,000 API requests a month
600dynamic codes
Business
$39/mo
For organisations running codes across many brands.
- 400 QR Menus
- 50 custom domains
- Up to 25 team members and team management
- Up to 10 workspaces
2,000dynamic codes
Unlimited scans on every plan. Cancel online in two clicks. Compare every plan and feature
The rest of the toolbox
Open a row to see the screen and which plan has it.
Bulk QR code generator
A spreadsheet in, one dynamic code per row out.Starter and up
Paste or upload a list, match the columns, and get one dynamic code per row: a table, a stall, a badge, a product. Each has its own destination and scan count.
Starter and up
The bulk generator
Change many codes at once
Tick the codes, then pause, tag, file or move them together.Pause and resume on every plan · folders and tags on Starter and up
Tick codes, or pick every code with a tag, then pause, tag, file or move them onto your domain in one go. When a pop-up shop closes, pause all its codes together.
Pause and resume on every plan · folders and tags on Starter and up

Folders and tags
Keep one location’s or one campaign’s codes together.Starter and up
A folder per shop, listing or campaign, and the list filtered by it. Deleting a folder moves its codes to No folder, with undo.
Starter and up

Custom domains
Short links on your own domain, chosen code by code.Starter and up
Codes open go.yourbrand.com/menu instead of a link with our name in it. Add two DNS records, we check them, then pick the domain per code or move a whole list onto it.
Starter and up
QR codes on your own domain
CSV export
Daily scans per code, in a spreadsheet.Pro and Business
Scans and unique visitors by day, for one code or all of them, with each code’s name and short link.
Pro and Business
