Barcode Generator
Pick a barcode type, enter a value and download a print-ready barcode as PNG, SVG or PDF. Check digits are calculated automatically.
How to use in 3 steps
- 1
Choose a barcode type
Pick the symbology you need from EAN-13, EAN-8, UPC-A, Code 128, ITF-14, QR and more.
- 2
Enter the value
Type digits or text; check digits are auto-calculated for EAN/UPC/GTIN types and invalid characters are flagged.
- 3
Style and download
Set color, bar height, module width and DPI, then export as PNG, SVG or PDF.
Supported formats
| Format | Dimension | Note |
|---|---|---|
| EAN-13 | 1D (linear) | 12 or 13 digits |
| EAN-8 | 1D (linear) | 7 or 8 digits |
| UPC-A | 1D (linear) | 11 or 12 digits |
| UPC-E | 1D (linear) | 6, 7 or 8 digits |
| Code 128 | 1D (linear) | ASCII characters |
| Code 39 | 1D (linear) | A-Z 0-9 - . $ / + % space |
| ITF-14 | 1D (linear) | 13 or 14 digits |
| Interleaved 2 of 5 | 1D (linear) | even number of digits |
| Codabar | 1D (linear) | digits and - $ : / . + |
| GS1-128 | 1D (linear) | e.g. (01)09506000134352 |
| Data Matrix | 2D (matrix) | any data |
| GS1 DataMatrix | 2D (matrix) | e.g. (01)09506000134352 |
| PDF417 | 2D (matrix) | any data |
| Aztec Code | 2D (matrix) | any data |
| QR Code | 2D (matrix) | any data |
| GS1 QR / Digital Link | 2D (matrix) | GS1 Digital Link URL or (01)... |
Example input / output
Input
Type: EAN-13, Value: 869123456789
Output
8691234567890 (check digit 0 appended)
Technical notes
For GS1 types such as EAN-13, EAN-8, UPC-A, UPC-E, GTIN-14 and ITF-14 the last digit is a check digit computed with the GS1 modulo-10 method. Enter 12 digits and we complete the 13th for EAN-13; if a wrong check digit is entered you'll see a warning. See the check digit calculator for the math.
Code 128 can encode the full ASCII set and automatically switches between subsets A/B/C to keep the data as short as possible. Digit-only data is encoded two digits per module with subset C, producing a narrower barcode.
SVG output is vector, so it scales losslessly to any size and is the safest format for printing. PNG is raster; for crisp thermal output render the barcode at a resolution matching the target DPI (usually 203 or 300).
The blank 'quiet zone' on each side of the barcode is required so a scanner can separate the code from the background. For EAN/UPC leave roughly 7-11x the module width clear on the left/right; never crop it away.
Everything runs entirely in your browser (client-side); the value you enter is never sent to a server. This tool renders the barcode image but does not assign you an official GS1 number, and a valid check digit does not prove the number is registered to a product.
Frequently asked questions
If you chose EAN-13 we compute the 13th digit (the check digit) with GS1 modulo-10 and append it. Enter 13 digits and we instead verify whether the existing check digit is correct.