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

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?

Choose labels and download

Add products to see your labels.

Label stock
Fits at 149% with name and second line

Same layout as Avery 5263, Avery 5523, Avery 5963, Avery 8163 and 11 more.

Text and order
Print order

All labels for a product together, in the order of your list (A A A B B C).

Partly used sheet

Start at label 1

Printing starts at the top-left label. Pick another label if some are already used.

Barcode size

Every label in the job uses the same size: the largest that fits all of them (now 149%). GS1 allows 80% to 200%. Bars are never stretched.

Printer adjustment

Labels printing a little off-center? Print a test page (opens in a new tab) and save the correction as a printer profile. It’s then used automatically for this label stock.

Avery 5163 · 4″ × 2″ · 10 labels per sheet

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.
First rows of the sample spreadsheet
Row ABCD
1 UPCProduct nameVariantQuantity
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
Row 1 holds the column names. Column A is Text, so 012345678905 keeps its 0.

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)

  1. Select the UPC column, press Ctrl+1 (⌘+1 on a Mac) to open Format Cells, choose Text on the Number tab and click OK.
  2. Paste or re-type the numbers. They now stay exactly as written, zeros included.
  3. 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

  1. Select the UPC column and choose Format › Number › Plain text.
  2. Paste or re-type the numbers.
  3. 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

  1. Select the UPC cells, open the Format sidebar, click the Cell tab and set Data Format to Text.
  2. Paste or re-type the numbers.
  3. 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.

  1. In your Shopify admin, go to Products and click Export.
  2. 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.
  3. 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 https link, 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 spreadsheet

Just 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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?
  1. Upload your .xlsx or .csv file to the importer at the top of this page.
  2. Check that the UPC column is the right one (and the name and quantity columns, if you have them).
  3. Choose your label sheet or thermal roll.
  4. 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.

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