Skip to main content
Tools

Barcode Generator

Create Code 128, EAN-13, UPC-A, Code 39, ITF-14 and other barcodes with automatic check digits, then download SVG or PNG.

Letters, digits, spaces and common symbols (ASCII), up to 80 characters.

Appearance
px
px
px
px

Preview

Enter a value to see the barcode here.

How to use

  1. Choose a barcode type: EAN-13 (most countries) or UPC-A (North America) for retail products, ITF-14 for shipping cartons, and Code 128 for internal labels, shipping slips or asset tags.
  2. Enter the value, or click “Example”. For EAN-13, EAN-8, UPC-A and ITF-14 you can leave out the last digit and the check digit is added for you; if you enter the full number, the check digit is verified.
  3. Adjust bar width, height, text and margin as needed. The preview updates instantly.
  4. Click “Download SVG” for a vector image (best for print and layout), or “Download PNG” or “Copy image” to paste it into a document.

FAQ

Is my data uploaded?

No. The barcode is generated in your browser and nothing is sent to a server.

Can I make up my own EAN-13 number?

For use inside your own store or for internal stocktaking, yes. To sell through retailers or marketplaces you need a company prefix from GS1, otherwise your number may clash with someone else’s. For internal use, Code 128 is often simpler since it does not follow GS1 numbering rules.

What is a check digit?

The last digit of EAN, UPC and ITF-14 codes is calculated from the others using the GS1 rule (from the right, multiply digits alternately by 3 and 1, add them up and round up to a multiple of 10). Scanners use it to catch misreads. This tool calculates it for you and checks it when you enter the full number.

What is the difference between Code 128 and Code 39?

Both hold letters and digits. Code 128 supports full ASCII (both cases and symbols) and produces shorter barcodes for the same content, so it is the usual choice today. Code 39 only supports upper-case letters, digits and a few symbols and is wider, but some older systems only read it.

Can a barcode hold Chinese or emoji?

No. Linear barcodes only hold digits or ASCII characters. For other scripts, URLs or longer content, use a QR code instead.

My printed barcode will not scan. What should I check?

Use dark bars on a white background with enough blank space on both sides (at least 10 times the bar width). SVG gives the sharpest print. With PNG, avoid scaling it so bars no longer land on whole pixels, which makes them uneven. Always test with a real scanner.

Keyboard shortcuts

/
Search tools (on a tool page, goes to the homepage search)
?
Show this help
Esc
Close a dialog
Ctrl / ⌘Enter
Run the tool's main action (where supported)

While you type in a text field, / and ? are typed as usual.