Data Transformation beginner 8 min

Generate a Scannable Barcode for a Product Label

Turn a 12-digit GTIN into a print-ready EAN-13 with a computed check digit instead of guessing the thirteenth number.

Scenario

A new product is going on shelves and the packaging vendor needs its EAN-13 barcode by end of day. The GS1 assignment sheet lists the company prefix and item reference — twelve digits total — but not the final check digit, and the last person who "just picked a plausible number" produced a label that supermarket scanners rejected at the register. An EAN-13 check digit is not decoration: it is computed from the other twelve digits, and a scanner that computes a different value than the one printed will refuse the code entirely.

Broken input

590123412345?

Goal

Use Barcode Generator to render the twelve assigned digits as an EAN-13 with the check digit computed for you, confirm the human-readable line matches the assignment sheet, and hand the vendor a vector file that survives print scaling.

Tool sequence

  1. Open Barcode Generator and choose EAN-13 from the Retail group.
  2. Paste the twelve assigned digits: 590123412345. The tool computes the thirteenth digit and renders the full code immediately.
  3. Read the human-readable line under the bars — it now ends in 7. That complete number, 5901234123457, is what belongs on the assignment sheet and in the product database.
  4. If someone later hands you a full 13-digit code, paste all thirteen: the generator validates the check digit and reports an error instead of silently rendering a code that scanners will bounce.
  5. Keep Human-readable text switched on — cashiers key in those digits when a bar gets scratched.
  6. Download SVG for the packaging vendor; bars stay crisp at any print size. Use PNG only for screens, like a quick approval email.

Checkpoint output

Input:  590123412345          (12 digits from the assignment sheet)
Output: 5901234123457         (check digit 7, computed — not guessed)
        ▍▍ ▍▍▍ ▍ ▍▍ ▍▍▍▍ ▍▍   scannable EAN-13, quiet zones intact

A rendered EAN-13 whose printed digits match the assignment sheet plus a computed final 7, exported as SVG for the label run.

Common mistakes

  • Guessing the check digit and printing it — the bars encode the wrong symbol pattern and every scanner rejects the label.
  • Choosing Code 128 because "it holds anything" — retail point-of-sale systems expect EAN/UPC symbols, not logistics symbologies.
  • Scaling a small PNG up in the print layout; anti-aliased bar edges blur together and scan rates drop. Export SVG instead.
  • Cropping the white margins in a design tool. The quiet zones on both sides are part of the specification, not empty space to reclaim.

Related tools and lessons