Barcode Generator from
Excel and CSV
A barcode generator from Excel and CSV files: upload your spreadsheet, check which column holds the UPC, and print barcode labels for every row. Leading zeros are kept and bad numbers are flagged. Your file stays in your browser.
Add your spreadsheet
Type a UPC in each row, or copy cells from Excel or Google Sheets and paste them into the first UPC box. Columns are matched for you and leading zeros are kept.
Drop your spreadsheet here
Excel (.xlsx), CSV, TSV or TXT. Read in your browser; nothing is uploaded.
Sample file: Excel (.xlsx) · CSV
No file handy?
Loading your saved products…
Choose labels and download
Add products to see your labels.
Add at least one product with a valid UPC to download.
Print at 100% / “Actual size”. Turn off “Fit to page” or “Shrink to fit” in the print dialog, or the labels won’t line up and the barcode may shrink.
Print one page on plain paper first and hold it against a label sheet to check the alignment. Still a little off? Print the calibration test page (opens in a new tab) and save the fix as a printer profile.
Start from a template
Download the sample file
The sample has the column names the importer recognizes and 8 example rows, several starting with 0. Its UPC column is formatted as Text, so new numbers you type keep their zeros too.
The numbers are made-up examples with correct check digits, for trying the tool. Don’t print them on products.
- UPCRequired
- The 12-digit UPC-A. Stored as text in the sample, so the leading zeros stay. Also recognized: Barcode, GTIN, EAN, Variant Barcode.
- Product name
- Printed as the first line above the barcode. Also recognized: Title, Name, Description.
- Variant
- An optional second line, such as a size or a SKU. A SKU column is used here when there is no variant column.
- Quantity
- How many labels to print for that row. Blank means 1. Also recognized: Qty, Labels, Copies.
| Row | A | B | C | D |
|---|---|---|---|---|
| 1 | UPC | Product name | Variant | Quantity |
| 2 | 012345678905 | Lavender soap bar | 100 g | 10 |
| 3 | 009876543215 | Cedar candle | 8 oz jar | 24 |
| 4 | 070123456787 | Oat milk shampoo | 250 ml | 12 |
| 5 | 085236974103 | Beeswax lip balm | Unscented | 30 |
| 6 | 061045829377 | Sea salt body scrub | 200 g | 6 |
Why Excel breaks UPC numbers (and how the importer catches it)
A UPC is a code, not a quantity, but spreadsheets treat a column of digits as numbers. Three things go wrong, and each one shows up on its own row in the importer instead of on a printed label.
-
The first zero disappears
036000291452 36000291452
Excel treats the column as numbers, and numbers don’t keep leading zeros. Many UPCs start with 0, so you are left with 11 digits. When adding the zero back makes the check digit match, the importer offers the 12-digit number as a button you click. It never adds it on its own.
-
The number turns into 7.25273E+11
725272730706 7.25273E+11
In the General format Excel shows numbers with 12 or more digits in scientific notation. If the file is saved like that as a CSV, the hidden digits can be gone for good. The importer flags these rows instead of guessing; re-copy the numbers from your source.
-
Numbers that only look right
036000291452 shown 36000291452 stored
A custom format such as 000000000000 shows the zeros but stores a number. In .xlsx files the importer reads that format and pads the number back, exactly as Excel shows it. When a number has no such format and lost its zero, the row says the UPC was stored as a number.
How to keep leading zeros in Excel, Google Sheets and Numbers
Set the UPC column to text before you type or paste the numbers. Formatting it afterwards does not bring back zeros that are already gone, so re-copy those from your original list. Menu names below were checked against each app’s help pages as of November 2026.
Excel (Windows and Mac)
- Select the UPC column, press Ctrl+1 (⌘+1 on a Mac) to open Format Cells, choose Text on the Number tab and click OK.
- Paste or re-type the numbers. They now stay exactly as written, zeros included.
- Upload the .xlsx file as it is. You don’t need to save a CSV first, and an .xlsx keeps the Text setting that a CSV can’t store.
Opening a CSV in Excel? Double-clicking it lets Excel convert the column again. Use Data › From Text/CSV, edit the query, select the UPC column and set Data Type › Text. In Excel for Microsoft 365 and Excel 2024 you can also turn off “Remove leading zeros and convert to number” under File › Options › Data › Automatic Data Conversion (on a Mac: Excel › Preferences › Edit).
Google Sheets
- Select the UPC column and choose Format › Number › Plain text.
- Paste or re-type the numbers.
- Choose File › Download › Microsoft Excel (.xlsx) or Comma-separated values (.csv) and upload that file, or copy the cells and paste them into the bulk barcode generator list.
Importing a CSV into Sheets? In the File › Import dialog, untick “Convert text to numbers, dates, and formulas” so the zeros survive.
Apple Numbers
- Select the UPC cells, open the Format sidebar, click the Cell tab and set Data Format to Text.
- Paste or re-type the numbers.
- Choose File › Export To › Excel (or CSV) and upload the exported file. Numbers’ own .numbers files can’t be read directly.
Selling on Shopify?
From a Shopify product export
Shopify can give you every product’s barcode in one CSV file, so you don’t retype a single UPC. Menu names below were checked against Shopify’s help pages as of November 2026.
- In your Shopify admin, go to Products and click Export.
- Choose All products (or the current page, or the products you selected), pick CSV file for Excel, Numbers, or another spreadsheet program and click Export products. Small exports download; larger ones are emailed to you.
- Upload the CSV to the importer as it is. You don’t need to open it in Excel first, and opening it there can strip the leading zeros.
What the importer does with it
- UPC from the Barcode column
- Each variant’s barcode becomes its label. Variants without a barcode, or with a number that isn’t a valid UPC-A, are flagged by row.
- Product names on every variant
- Shopify writes the Title only on a product’s first row. The importer copies it down to that product’s other variant rows (same handle), so every label gets its name.
- Option as the second line
- Option1 Value (a size or color) prints as the second line. Shopify’s “Default Title” for products without options is left off.
- Number of labels from stock
- The inventory quantity column (stock on hand) sets how many labels each variant gets, with a one-click “Print 1 of each instead”. Rows that only hold an extra image are skipped.
Older or newer export? Both Shopify header styles work: Handle / Variant Barcode / Variant Inventory Qty and the
current URL handle / Barcodes / Inventory quantity. If a Barcodes cell holds several values (for example
upc:036000291452; ean:…), the importer uses the 12-digit one and tells you.
Can’t I just make barcodes inside Excel?
You can get bars into a cell, but not easily a UPC-A that scans at the checkout, and not a label sized for an Avery sheet. Here is how the usual “Excel to barcode” methods compare.
- A free barcode font (often Code 39)
- Code 39 is a different barcode type. It is fine for internal stock tags, but it is not a UPC-A, and retail checkouts and marketplaces that ask for a UPC expect UPC-A.
- A UPC-A barcode font
- A UPC-A has a check digit, guard bars and different bar patterns for its left and right halves. Typing the 12 digits in a UPC font isn’t enough: the font maker’s formula or macro has to encode the number into special characters first. The printed size then depends on the font size, and nothing checks the blank margins scanners need.
- The IMAGE function
-
Excel for Microsoft 365 and Excel 2024 can show a picture from an
httpslink, so a formula can call an online barcode service for each row. Every number is sent to that service, the picture sits in a cell rather than on a label, and it needs a connection.
The quicker route for printing labels
Keep Excel for your product list and let the importer do the barcodes: it encodes UPC-A to GS1 measurements, checks every check digit, and places the labels on your exact sheet or roll. Up to 250 labels per PDF, free.
Upload your spreadsheetJust need to test a few numbers? Check a UPC check digit.
From spreadsheet to printed labels
Files of up to 5,000 rows work. Not sure which stock you have? Choose a label sheet or roll.
-
Step 1: Upload your file
Drop an .xlsx, .csv, .tsv or .txt file on the importer, or choose it. It is read in your browser, not uploaded.
-
Step 2: Check the columns
The UPC, name, second line and quantity columns are matched for you. Correct any of them with the dropdowns, and untick the header option if your first row is data.
-
Step 3: Fix flagged rows
Each row shows “Number format looks valid” or the problem, by spreadsheet row number. Edit the cell in the list or click a suggested fix.
-
Step 4: Pick a label stock and print
Choose your Avery sheet or thermal roll, download the PDF and print at Actual size (100%). Print at actual size explains the print dialog.
Printing many products with quantities and part-used sheets? See the bulk barcode generator. One product? Make a single UPC label.
Excel and CSV import FAQ
How do I generate barcodes from an Excel list?
- Upload your .xlsx or .csv file to the importer at the top of this page.
- Check that the UPC column is the right one (and the name and quantity columns, if you have them).
- Choose your label sheet or thermal roll.
- Download the PDF and print it at Actual size. Free PDFs hold up to 250 labels; bigger jobs come in parts.
Why does Excel remove the leading zero from my UPC?
Because the column is formatted as numbers, and a number has no leading zeros. Format the UPC column as Text before you type or paste the numbers, or re-copy them from your original source. Formatting afterwards does not bring the lost zeros back. When the importer sees an 11-digit UPC that becomes valid with a 0 in front, it offers that number for you to confirm.
Can I use a CSV file instead of XLSX?
Yes. CSV, TSV and plain-text files work, with commas, semicolons, tabs or pipes between columns; the importer works out which. UTF-8 is read first, and files saved by older Excel versions in the Windows character set also work. A CSV can’t store “this column is text”, so check the UPCs in a text editor if zeros are missing.
Can I make barcodes in Excel without an add-in?
Only partly. A barcode font turns digits into bars, but a UPC-A needs a check digit, guard bars and different patterns on its left and right halves, so UPC fonts rely on a formula or macro from the font maker to encode the number first. The IMAGE function (Microsoft 365 and Excel 2024) can show a barcode picture, but it needs an https link to an online barcode service that receives your numbers. Neither gives you a label layout sized for Avery sheets.
What columns does my spreadsheet need?
Only a UPC column. Product name, a second line (SKU, size or price) and quantity are optional. Header names such as UPC, Barcode, Product name, Variant and Quantity are recognized automatically. The sample Excel file shows the layout.
Is my spreadsheet uploaded to your server?
No. The file is opened by your browser and read on your device; neither the file nor the numbers in it are sent to us. We only count anonymous events such as “file imported” and the label stock used. See the privacy policy.
Related guides
- How to print UPC labels that scan Sheets or thermal rolls, the print settings that keep the size exact, alignment and a test scan. Read the guide
- UPC vs EAN vs SKU (and GTIN) What each number is, who issues it, how many digits it has and which one goes on your label. Read the guide
- UPC validator Check a UPC’s length and check digit without making a label. Open the validator
Turn your spreadsheet into labels
Upload the file, check the columns and download a print-ready PDF. Nothing is uploaded and no account is needed.
Import your spreadsheet