How it works
Each row of your CSV becomes one barcode image. ScanHatch checks every value with the same rules as the Barcode Validator, shows you exactly which rows have problems, and then builds a ZIP with one file per barcode and an index.csv that lists each file's row, name and value.
CSV format
type,name,value code128,Product A,ABC123 ean13,Product B,4006381333931 upca,Product C,036000291452
- value (required): the barcode data. Columns called data, barcode, code or gtin also work.
- type (optional): the format for that row, such as ean13, EAN-13, upca, code128 or itf14. Without a type column, choose one format for the whole file on the page.
- name (optional): used for the file name. Without it, the value is used (for example 4006381333931.png).
Supported types: Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, ITF (Interleaved 2 of 5), ITF-14, Codabar, MSI (Modified Plessey), Pharmacode, Data Matrix, PDF417, Aztec.
Check digits
EAN-13, EAN-8, UPC-A, UPC-E and ITF-14 values must include a correct check digit. If your list has the numbers without it, turn on “Automatically calculate missing check digits”: values that are exactly one digit short get their check digit added, and the table shows each change (for example 400638133393 → 4006381333931). Values with a wrong check digit are never corrected; they're reported, because a wrong digit usually means a typo elsewhere in the number.
Preparing data in a spreadsheet
- Leading zeros: Excel removes them from numbers (036000291452 becomes 36000291452). Format the column as Text before typing or pasting, or the check will fail.
- Scientific notation: long numbers may show as 4.00638E+12 and be saved that way. Again, format the column as Text.
- Save as CSV UTF-8, not .xlsx.
Privacy and limits
Your file is read and processed entirely in your browser; values and names are never uploaded. Batches are limited to 500 rows and 1 MB so generation stays responsive. Split larger lists into several files. PNG and SVG output are available; for a vector PDF of a single barcode, use the Barcode Generator.