QR & Barcodes5 min

Which Barcode Format Should I Use? EAN-13 vs Code 128 vs QR

Retail scanners want EAN/UPC. Logistics wants Code 128. Marketing wants QR. Here's a decision table plus what each format can and cannot encode.

Zro7 Barcode Generator builds every format client-side using pure JavaScript. Nothing is sent to a server.

Short answer: use EAN-13/UPC-A for retail products, Code 128 for shipping labels and internal SKUs, Code 39 only for legacy healthcare / defense, and QR for anything URL-shaped or consumer-scanned. Zro7 Barcode Generator supports them all and renders locally.

The decision table

  • EAN-13 / UPC-A — 12–13 digits, fixed length, required for retail POS. Get numbers from GS1.
  • Code 128 — full ASCII, variable length, denser than Code 39. The default for shipping.
  • Code 39 — uppercase + digits + a few symbols. Legacy but still required by some healthcare and defense workflows.
  • ITF-14 — 14 digits for shipping cartons of retail goods (case pack).
  • QR — up to ~3 KB of any data, 2D, scans from a phone camera. Great for URLs, WiFi, vCards.
  • Data Matrix — 2D like QR but denser at small sizes; standard on pharma packaging (GS1 DataMatrix).

1D vs 2D — the real trade-off

1D barcodes (EAN, Code 128) are read by cheap laser scanners and can be printed narrow. 2D codes (QR, Data Matrix) need a camera-style scanner but hold 10–100× more data in the same footprint. Choose based on what will read it, not aesthetics.

Common mistakes

  • Using QR on a retail product — POS scanners can't read QR at speed.
  • Using Code 128 with special characters in a URL — those characters print but confuse many scanners; use QR.
  • Skipping the quiet zone — the white margin around a barcode is not optional; scanners need it.

Steps

  1. Open Barcode Generator.
  2. Pick the format from the dropdown (Zro7 validates the payload for each).
  3. Preview at print size — anything under 0.8× the recommended module width will fail.
  4. Export SVG for print, PNG for on-screen.

Frequently asked questions

Do I need to buy a barcode from GS1?

Only for EAN/UPC codes sold at retail. Code 128 and QR are free to generate for internal use.

Can a phone scan Code 128?

Yes — modern camera apps handle Code 128, EAN, and QR. Older devices may need a barcode-scanner app.

What's the smallest QR I can print?

Depends on data and error correction; 2 cm (0.8 in) square is a safe floor for typical URLs.

Does Zro7 support GS1 Data Matrix?

Yes — pick Data Matrix and prefix your payload per GS1 (FNC1).

Any barcode I should avoid?

Code 93 and PDF417 — supported but rare; only pick them if a workflow explicitly requires them.

Related posts

← Back to blog