How it works
Turn a whole list into QR codes or barcodes in one go. Paste cells from Excel, Google Sheets or a CSV file, enter one item per line, or number a sequence, then download every code as a PNG or SVG file in a single ZIP. This free bulk barcode generator also handles Code 128, EAN-13, EAN-8, Code 39 and ITF-14, adds check digits for you and flags problem rows before you print. Your list is processed in your browser and never uploaded. You can also print QR code labels and barcode labels straight onto US Letter sheets in common Avery sizes, starting from any label on the sheet.
Three ways to add your list
- Paste from Excel or CSV: select the cells in Excel or Google Sheets, header row included if you like, then copy and paste. The tool works out whether the first row is a header; you pick the column that goes into each code and the one that names the files. A CSV file works the same way once you open it in a spreadsheet.
- One per line: one link or ID per line, with blank lines skipped. Handy when you already have a list of URLs.
- Number sequence: set a prefix, start, count or end number, step, zero padding and suffix, such as BIN-0001 to BIN-0500. The first three and the last value appear as you type, with no need to fill a spreadsheet first.
Popular uses
Inventory and storage bins
Number your bins and shelves with a sequence (for example BIN-001 to BIN-200) and choose Code 128 for a handheld scanner, or QR code if people will scan with a phone. Add a second line of text such as the aisle or the contents so the label reads at a glance.
Asset tags for equipment
Copy the asset tag column from your equipment list, header included, and choose it as the code column. For a scanner that types the ID into your system, choose Code 128. To open each item's record with a phone camera instead, choose QR code and use a template such as https://your-site.example/asset/{id}.
Moving boxes
Number the boxes and print QR code labels with the room and a short list of contents on each one. Link each code to a shared sheet or form with the full packing list, and anyone unpacking can see what is inside without opening the box.
Product barcodes and in-store codes
For codes used only inside your own business, you can use EAN-13 numbers starting with 20 to 29. GS1 sets these aside as restricted circulation numbers: they are never issued as product GTINs, and the GS1 office in each country decides how they may be used. Choose a sequence with prefix 20 and zero padding 10, and every check digit is calculated for you. To sell through retailers, you need official numbers from GS1 US or the GS1 office in your country; this tool draws the barcodes for numbers you already have.
Google Forms with each code's ID filled in
- In Google Forms, choose "Get pre-filled link", type a sample answer such as TEST in the ID question, and copy the link.
- Paste the link into the template and replace TEST at the end with
{id}, for example…&entry.123456789={id}. - Paste your list of IDs or set up a sequence. Each QR code opens the form with its own ID already filled in.
When the template is a link, each value is encoded for URLs, so spaces and symbols such as & will not break it.
Print QR code labels and barcode labels on Letter sheets
Choose "Print labels" as the output and your list is laid out on label sheets, ready to print from your browser, with no mail merge in Word. Each label gets a code plus one to three lines of text, such as an asset tag, an item name and a location; text shrinks to fit and is cut off only when it is too long, with the affected rows listed.
- Avery-compatible sizes: US Letter sheets laid out like Avery 5160 (30 per sheet, 2⅝ × 1 inch), 5163 (10 per sheet, 4 × 2 inch), 5167 (80 per sheet, 1¾ × ½ inch) and 22806 (12 square labels, 2 × 2 inch), plus an A4 sheet of 21 labels and a custom size for anything else.
- Start at any label: on a partly used sheet, enter the first unused label and the ones before it stay blank.
- Several copies of each: print two of the same label in a row, for example one for the item and one for its box.
- Safe edges: most printers cannot print the outer 0.12 to 0.2 inch of the page, so codes and text in labels that touch the edge are pulled in automatically.
- No labels that will not scan: if a barcode would be squeezed too thin for its label, for example a Code 128 bar narrower than 0.19 mm, the tool explains why and turns off printing instead of wasting a sheet.
Avery is a trademark of Avery Products Corporation. This site is not affiliated with Avery; the product numbers only describe sheets with the same layout.
Line it up before you print
- Under "What to print", choose "Alignment test page" and print it on plain paper. It shows only the label outlines, their numbers and a 2-inch ruler.
- Measure the ruler. If it is not exactly 2 inches, your print settings are scaling the page: set the scale to "Actual size" or 100% and the margins to "None", and avoid "Fit to page".
- Hold the test page over a label sheet against the light. The lines should sit on the label edges. If everything is off in one direction, enter the difference under "Offset adjustment" and print the test page again. Tick "Remember this printer's offset" to keep it.
- Once it lines up, load the label sheet, switch back to "Labels" and click Print labels.
Barcode or QR code?
Use a barcode when a scanner reads an ID into your inventory, asset or checkout system: Code 128 is the most versatile, and EAN-13 is for retail products. Use a QR code when people should open a web page, form or manual with their phone camera. You can make both from the same list: make the QR codes once, then switch to Code 128 and make them again.
For a single code, use the barcode generator or the free QR code generator, which also lets you pick colors and add a logo.
Printed codes never expire, so pick links you can keep
These are static QR codes: the link is stored in the code itself, with no redirect service in between, so a printed label never stops working because some service shut down. The link inside still has to keep working, though. Use addresses you control for the long run, avoid link shorteners and pages you might move later, because changing the link means reprinting every label.
How to make QR codes in bulk
- 1Choose how to add your list: paste from Excel or CSV, enter one item per line, or set up a number sequence.
- 2To turn IDs into links, add a template such as https://example.com/asset/{id}.
- 3Pick QR code or a barcode type, and check the results for any red rows.
- 4Choose PNG or SVG and click Download ZIP, or choose Print labels, pick your sheet and click Print labels.
FAQ
How do I make QR codes from an Excel or CSV file?
Select the cells in Excel or Google Sheets (header row included, if you like) and copy them, choose "Paste from Excel or CSV" on this page and paste. Pick the code column, the file name column and the code type, then click Download ZIP. For a CSV file, open it in Excel or Google Sheets first and copy the cells. No add-ins, barcode fonts or formulas needed.
How many codes can I make at once?
Up to 2,000 per batch, as PNG or SVG. Everything is generated in your browser, so bigger batches and larger images take longer; a progress bar shows how far along it is, and you can cancel at any time. For more, split the list into batches.
Is my list uploaded?
No. Your list and the finished images stay in this tab's memory, the ZIP is built in your browser and downloaded directly, and none of it is saved in the URL, cookies or browser storage. If you tick "Remember this printer's offset", only the two offset numbers are saved in this browser, never your list. The site's analytics record only a rough count range (such as 51 to 200), the code type and whether you downloaded PNG or SVG or printed labels, never the list or the file names. See the Pocketool privacy policy.
Why are some rows marked red?
That row cannot be made into a code, and the red text says why: the content is too long for a QR code; an EAN-13, EAN-8 or ITF-14 number has letters in it (spaces and dashes are removed for you), the wrong number of digits or a check digit that does not match; Code 128 is longer than 80 characters or Code 39 longer than 48; there are characters the barcode cannot hold, such as accented letters, or # @ & in Code 39; or the cell is empty. Choose "Skip rows with problems" to make the rest now, or fix the spreadsheet and paste it again. Repeated values are only flagged and still generated.
Do I need to work out EAN-13 check digits?
No. Enter 12 digits and the 13th is added for you; enter all 13 and the check digit is verified, with the correct digit shown when it does not match. Sequences work the same way, so every number in a run of in-store codes gets its own check digit.
How are the files named?
When you paste from a spreadsheet, choose a file name column such as the asset tag. For one-per-line lists and sequences, use the content itself or a number (001, 002…). Characters that file names cannot contain (/ \ : * ? " < > |) become underscores, and repeated names get (2), (3) added.
Can I print on Avery labels?
Yes. Choose "Print labels" as the output, pick a Letter sheet laid out like Avery 5160, 5163, 5167 or 22806 (or an A4 sheet, or a custom size), and add up to three lines of text to each label. Then click Print labels to print from your browser. This site does not create PDF files; to save one, choose "Save as PDF" in the print dialog.
What if the labels print out of line?
Print the alignment test page on plain paper first and measure its ruler: it should be exactly 2 inches. If it is shorter, your print settings are scaling the page, so set the scale to "Actual size" or 100% and the margins to "None", not "Fit to page". If the size is right but everything sits off to one side, hold the test page over a label sheet against the light, enter the difference under "Offset adjustment" and print again. Tick "Remember this printer's offset" to keep it for next time.
Can I use a half-used label sheet?
Yes. Enter the first unused label under "Start at label", counting left to right and top to bottom. The labels before it stay blank. Only the first sheet is affected; the next sheet starts at label 1.
Why are there no colors or logos?
Black and white scans best on labels and barcodes, so bulk codes are always black on white. For a single color QR code with your logo, use the free QR code generator.