Operations
A bulk CSV barcode workflow that does not leak your catalog
Most reprint disasters start in a spreadsheet: the wrong column mapped as the barcode, a header treated as a SKU, a UPC with a broken check digit. A bulk generator should fail those rows before a single sticker comes out. This is the working-sheet recipe we use so a jam at 2 a.m. is a reprint, not an upload to a stranger’s server.
LabelStack editors · August 28, 2026 · 14 min read
Columns that survive a 2 a.m. reprint
Use a header row. LabelStack recognizes value (also barcode, fnsku, upc, ean), symbology, name, sku, price, and custom. Value is required. Symbology can be omitted if the whole job is one type—you set the default in the tool (for example fnsku on an FBA run). Name, SKU, price, and custom are printed only if you toggle those fields on.
Keep the live catalog in your system of record (Seller Central export, Shopify, a WMS). Make a working sheet with just the columns above. Do not send that working sheet to a website. In LabelStack, upload or paste it; parsing happens in the tab. You can confirm with the browser network panel. Name the file after the job, not “barcodes-final-FINAL2.csv”: FBA-SHIP-1532-5160.csv still makes sense in six months.
Excel, UTF-8, and the semicolon surprise
Excel on a US Windows box saves CSV as comma-separated and often in a local ANSI code page. Product names with é, ß, or smart quotes then arrive as mojibake. Save as CSV UTF-8 if your Excel has that option, or paste from Google Sheets, which is UTF-8 by default. LabelStack reads the file in the browser; it cannot guess a missing encoding.
In much of Europe, Excel uses semicolon as the separator because comma is the decimal mark. If every row looks like one giant column, your file is semicolon-separated. LabelStack accepts common delimiters; if a paste looks wrong, open the file in a text editor and look at the first line. Tabs from a spreadsheet paste are fine. Do not export PDF from Excel’s label wizard and then try to “fix” it here—bring the data, not a layout.
One symbology per row, not one per file
A mixed inbound is normal: retail GTINs for units you still sell off Amazon, FNSKUs for FBA, Code 128 for bin tags. Put ean13, fnsku, or code128 in the symbology column. The validator then applies the right rules: modulo-10 for EAN/UPC/ITF-14, X-prefix and charset for FNSKU, charset for Code 39. Errors cite the spreadsheet row number (header = row 1) so you can jump back to the cell.
If a UPC is one digit short, you will see it as an error, not as a mysterious short barcode on the PDF. Apply suggested check digits only when you intend to; a systematically wrong prefix is a data problem, not a checksum problem. Duplicate values are allowed—ten units of the same FNSKU is ten rows, not one row with a quantity column this tool does not read. Quantity belongs in your WMS, not in a barcode field.
From table to sheet
After parse, pick the physical sheet you actually own: Avery 5160 for 30 small titles, 5163 for 10 larger scan patches, 5167 for tiny return tags, Amazon FBA 2×3, or an A4 L7160 if you are on metric paper. Toggle name/SKU/price/custom so the sticker matches how people pick. Drag a row or a cell to reorder if the pack list is not the print order.
Export PDF for the pack bench. Export SVG ZIP if a designer needs the codes in a dieline. Invalid rows are skipped unless you explicitly include them—do not include them. There is no watermark and no row cap; the limit is the memory in the browser. For tens of thousands of labels, leave the tab open until the PDF finishes.
Operational rules that save reprints
Print one test page and scan three codes from different corners of the sheet before the full run. Keep 100% scale. Store the CSV next to the shipment ID so a jam is a reprint, not a scavenger hunt. If a marketplace later asks “who generated these,” the honest answer is: this browser, this file, no upload. That is the workflow LabelStack is built to keep honest.
When you reprint after a jam, do not “fix” the CSV unless the data was wrong. Changing a title between page 2 and page 3 is how a box of mixed stickers appears. Version the file if you must change data: SHIP-1532-v2.csv, new PDF, new test page.