Overview
What this tool does
A barcode generator turns a string of digits (or text) into a scannable barcode image. This tool covers the most common formats: Code 128 (general-purpose, alphanumeric), EAN-13 and EAN-8 (retail outside the US), UPC-A (retail in the US), Code 39 (industry and inventory), ITF-14 (carton shipping labels), MSI (shelf tags), and Pharmacode (pharmaceutical packaging). The output is a real SVG that scales to any size without quality loss; you can also download a 2x PNG. Adjust bar width, height, line color, and background to match your printing setup. 100% client-side via JsBarcode; no signup, no daily limit.
How to
Use it in 3 steps
- Pick a format. Each one has its own data rules (EAN-13 wants exactly 12 digits, UPC-A wants 11, etc.). A short note under the format dropdown tells you what's expected.
- Type or paste the data. The preview updates live. If you enter invalid data for the format, an error explains what's wrong.
- Tweak bar width, height, colors, and whether the human-readable text shows below the bars.
- Download SVG (best for print, scales to any size) or PNG (best for screen and email).
FAQ
Frequently asked questions
▶Which format should I use?
Code 128 is the safe default for general-purpose, in-house, or label use (it accepts any printable ASCII and is densely packed). EAN-13 / UPC-A are for retail products sold through scanners at checkout (requires you to have a registered GS1 prefix). Code 39 is common in industrial / warehouse labels. ITF-14 is for outer shipping cartons. Pharmacode is pharmaceutical-industry-specific.
▶Why is EAN-13 only 12 digits, not 13?
The 13th digit is a check digit; JsBarcode computes and appends it automatically. You provide the first 12. Same idea for UPC-A (you provide 11, the 12th check digit is added) and EAN-8 (provide 7, get 8).
▶Will this scan correctly?
Yes if the format is right for the use case AND you keep the bar-width at 2px or more when printed at typical scanner-reading distance. Very thin bars (1px) print fuzzy on most consumer printers and may not scan. SVG is best for print because it scales without losing crispness.
▶Can I use my own colors?
Yes for line color and background. Most scanners need high contrast; black-on-white is the safest combination. Coloured bars on coloured backgrounds may fail on cheaper scanners.
▶Is my data uploaded?
No. The barcode is rendered to an SVG in your browser using JsBarcode. The data you type stays on your device.
▶Why don't you have QR code support here?
QR codes have their own tool (qr-code-generator) with QR-specific features (logo embedding, dot styles, error correction levels). 1D barcodes (this tool) and 2D QR codes are different enough to deserve separate tools.