Barcode Generator
37 barcode types — linear, EAN/UPC/ISBN, GS1 DataBar, Data Matrix, PDF417, Aztec, and more. Print sizes in mm, PNG, SVG, PDF, EPS, JPG, or GIF, one code or thousands, or straight onto label sheets. Codes of the 32 types a browser reader can decode are scanned back before you download them.
Any text (ASCII), with letters, digits, and symbols.
Size
PNG/JPG/GIF: 4 px per module at 300 dpi, so the module is 0.339 mm (the closest whole number of pixels to 0.330 mm). SVG/PDF/EPS: exactly 0.330 mm.
Printing on a 300 dpi printer? Bars print evenly only when the module is a whole number of printer dots; 0.330 mm is 3.90 dots.
Text and colors
About Barcode Generator
Barcode Generator draws 37 barcode types in your browser with bwip-js: linear codes such as Code 128, Code 39, and ITF-14, retail EAN, UPC, ISBN, and ISSN codes with optional EAN-2 or EAN-5 add-ons, the GS1 DataBar family, and 2D codes such as Data Matrix, PDF417, Aztec, and QR Code. You set the module width in millimeters, mils, or pixels and the print resolution. One code downloads as PNG, JPG, GIF, SVG, PDF, or EPS; a list or a numbered series becomes a ZIP of up to 5,000 files or a PDF of label sheets. Before the files appear, zxing-cpp reads the drawing back, for every type a browser decoder exists for.
How to make a barcode for print
- 1Choose the type in "Barcode type"; the hint under it says what the value must look like.
- 2In "One barcode", type the value or click "Use the example"; for many codes, switch to "Many (ZIP or labels)" and paste a list, set up "A numbered series", or use "Import CSV / TSV…".
- 3Under "Size", set "Module width", "Resolution (dpi)", "Bar height", and "Rotation"; colors and the text line are under "Text and colors".
- 4Click "Generate barcode" (or "Generate all as ZIP" or "Generate label sheets (PDF)"), then "Download" one file or "Download all" for a ZIP of the six formats.
Formats and limits
- Output formats
- PNG, JPG, and GIF images; SVG, PDF, and EPS vector files; a ZIP of one format for a batch; label sheets as one PDF
- Batch size
- Up to 5,000 codes per ZIP and 5,000 labels per PDF
- CSV / TSV import
- Files up to 5 MB; first column the value, second column the text printed under the code
- Print size
- Module width in mm, mils, or pixels, from 72 to 2400 dpi; PNG and JPG store the resolution, GIF does not
- Label stock
- Avery A4 and US Letter sheets, plain paper to cut, thermal rolls from 40 by 30 mm to 4 by 6 in, or your own layout
Where your barcodes are made
Codes are drawn by bwip-js and checked by zxing-cpp inside your browser, and the decoder file comes from this site, not from an outside CDN. Your values and imported files are not uploaded. One exception: when an error is shown, its text goes, cleaned, to our error log with the tool's name and your browser's name and major version, and the values quoted in the message of a batch where every line failed are removed from it first.
Frequently asked questions
Does it add the check digit?
Yes, for EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, and PZN8: type the number without its last digit and it is calculated, or in full and it is verified. Code 93 always gets its two check characters; Code 39 and Interleaved 2 of 5 can add an optional check digit, Code 11 its C check digit (and K from 10 characters), and MSI Plessey offers several Mod 10 and Mod 11 schemes; a number whose Mod 11 check value would be 10 is refused with a message suggesting Mod 10.
Is each barcode checked before download?
Yes, for 32 of the 37 types: zxing-cpp, a reader separate from the engine that drew the code, must find your value, check digits included, or no file is offered. MSI Plessey, Pharmacode, Code 11, and standalone EAN-5 or EAN-2 are marked as not scanned back, and with the optional Code 39 or ITF check digit only the type is confirmed.
What module width should I use for retail EAN and UPC?
0.33 mm, the default here, is the nominal size, and the page warns below the GS1 minimum of 0.264 mm. PNG, JPG, and GIF need a whole number of pixels per module, so the page shows the closest width at your resolution, while SVG, PDF, and EPS keep the exact width you typed.
Can I make many barcodes at once?
Yes. In "Many (ZIP or labels)", paste one value per line, import a CSV or TSV file, or number a series with a prefix, a step, zero padding, and a suffix. Every code is drawn and, where a reader exists, checked; any value that could not be encoded is listed in errors.txt inside the ZIP.
Can I print barcodes on label sheets?
Yes. Choose "Label sheets (PDF)" under "Output", then a sheet, a roll size or "Custom…", the first free label, and the copies of each code. Codes keep the size you set and shrink only when they do not fit, and the page says by how much. Print the PDF at actual size, never fitted to the page.
Tips and tricks
- ✓When the yellow note says the module is not a whole number of printer dots, click the button in that note so the bars print evenly.
- ✓For GS1-128, DataBar, and GS1 DataMatrix, write each Application Identifier in brackets, such as (01)09501101530003(17)261231.
Related tools
- QR Code Generator — QR codes for links, Wi-Fi, contacts, and SMS, with colors and a logo, checked by a QR reader before download.
- QR Code Scanner — read a QR code or a barcode from your camera or a picture; the image is not uploaded.
- SVG to PNG
- Resize Image