Barcode Generator
Turn a product number, a SKU or any short text into a barcode — or a whole list at once — and download it as PNG or SVG.
Retail numbers come from GS1. An EAN, UPC or ITF-14 number on goods sold in shops or on marketplaces must sit inside a company prefix licensed to the brand owner by GS1. This tool only draws the bars for the digits you type — it does not issue numbers, register them or check who owns them.
Your barcode is ready
How to make a barcode
- Pick the barcode type. Code 128 takes any plain text; switch when a retailer, a warehouse system or a scanner set-up asks for another format.
- Type the value and the preview redraws as you go. For EAN, UPC and ITF-14 codes you can leave off the check digit and it is calculated for you; type it and it is verified.
- Adjust the size, margin and colours if needed; a yellow note warns about settings likely to make the code hard to scan.
- Download PNG saves an image at 1×, 2× or 4× size; Download SVG saves a vector file that scales freely.
- For a batch, choose A list (ZIP), drop in a .csv or .txt file with one value per line or the values in the first column, and press Create ZIP. Each value becomes an image named after it, and a report.txt lists any line that couldn't be drawn, with the reason.
What people use it for
A barcode gets a number or a short reference into a computer without anyone typing it, and the right type depends mostly on who will scan it. For a web address or longer text, a QR code fits better.
- Retail product labels. EAN-13 in most countries, UPC-A in the US and Canada, and EAN-8 or UPC-E for small packs.
- Stock and asset tags. Code 128 with your own references, such as SKUs, bin locations or equipment numbers. It mixes letters and digits, stays compact and nearly every scanner reads it.
- Shipping and internal tracking. Code 128 for order and parcel references; ITF-14 on the outer cartons of retail goods.
- Library and shelf labels. Codabar still appears on library cards and in older lab systems, Code 39 on ID badges and in manufacturing. For a new system, Code 128 is usually the better pick.
Good to know
A retail EAN or UPC number can't be made up. Each one belongs to a company prefix that GS1, the organisation behind the numbering system, licenses to a brand owner, and retailers and marketplaces can check that a product's number is registered to whoever sells it. This page only draws bars for the digits you give it; it doesn't issue, register or verify numbers. For labels that never leave your premises, Code 128 with your own references sidesteps the question.
Scanners need dark bars on a light background, a blank margin on each side, and colours that still contrast under the red light many of them use, so try a printed sample with the real scanner before labelling a whole stockroom. ITF-14 codes come without the bearer-bar frame often added on cardboard. Whatever you type, and any list you add, is turned into barcodes by the script running in this tab; nothing is sent to a server, saved or logged.
Questions people ask
Which barcode type should I choose?
Whatever your retailer, marketplace or customer specifies. Otherwise, Code 128 for your own labels, EAN-13 or UPC-A for products with a GS1 number, and ITF-14 for the cartons they ship in.
Do I need to type the check digit?
No. It is the last digit of an EAN, UPC or ITF-14 number, calculated from the others so a scanner can catch a misread, and it is added if you leave it off. Type a wrong one and you are shown the right digit, though a mismatch often means another digit was mistyped.
How big should I print it?
Use the 2× PNG or the SVG. With the default 2-pixel bars, a 2× PNG printed at 300 dpi gives a narrowest bar of about 0.34 mm, close to the standard EAN-13 size; much smaller gets harder to scan. JPG to PDF can gather the PNGs into one printable file.
Why do numbers from my spreadsheet come out wrong?
Spreadsheets drop leading zeros and turn long numbers into 4.00638E+12, so format the column as Text before saving. A UPC missing its first zero looks like one without a check digit, so check any line report.txt lists as having one added.