Barcode generator
EAN-13 and Code 128 with the official symbology tables: automatic check digit, mod-103 checksum and scannable SVG or PNG download.
Enter 12 or 13 digits
How it works and limitations
- Bar patterns are computed with the official symbology tables (ISO/IEC 15417 for Code 128, GS1 for EAN-13): the result is printable and scannable.
- With 12 EAN digits the check digit is computed automatically; with 13, yours is validated.
- Code 128 uses set C (two digits per symbol) for numeric content and set B otherwise; it includes the mod-103 checksum and the full stop pattern.
- SVG scales losslessly to any size; PNG is generated at the exact chosen resolution. Leave at least 10 modules of quiet zone around when printing.
Built by
Miguel Ángel Colorado Marin (MACM)
Built by
Miguel Ángel Colorado Marin (MACM)
Full-Stack Developer · Guadalajara, España
I develop web apps, digital tools and full projects — from design to deployment.
A badly generated barcode is a product the scanner rejects: most “quick” generators compute bars from trimmed tables or omit the full stop pattern, and the supermarket or warehouse reader spits it out. This generator uses the official symbology tables — ISO/IEC 15417 for Code 128 and the GS1 tables for EAN-13 — with Code 128's mod-103 checksum, the full stop pattern with its final bar, and EAN-13's check digit computed automatically when you enter 12 digits (or validated when you enter 13). For home and small-business labelling just pick module width and height, then download: vector SVG to print at any size without jaggies, or exact-resolution PNG for POS panels and print shops that still don't accept vectors. Data never leaves your browser.
Features
- ✓EAN-13 with check digit computed automatically (12 digits) or validated (13)
- ✓Code 128 with set C for numbers, mod-103 checksum and full stop pattern
- ✓Adjustable module width and height for labels and printers
- ✓Download as vector SVG (lossless scale) or exact-resolution PNG
- ✓All in your browser: data is never sent to any server
How do I generate a barcode?
- 1
Pick the symbology
EAN-13 for retail products; Code 128 for internal references, serials and logistics labels.
- 2
Type the content
12 EAN digits and the check digit is appended; free ASCII text for Code 128.
- 3
Adjust width and height
Module width 2× to 6× and height 60 to 240 px depending on the label.
- 4
Download SVG or PNG
SVG for print and free scaling; PNG at exact resolution for panels and mockups.
Frequently asked questions
Which symbology do I need to sell in a store?
EAN-13 is the retail product standard in Europe and almost everywhere: GS1 assigns the code to your company and each product. Code 128 is for internal references, pallets and logistics labels (GS1-128).
Will the generated barcode scan correctly?
Yes, if you print respecting the symbology: use the SVG (vector, crisp edges) in pure black on white, leave at least 10 modules of quiet zone on each side, and do not upscale the PNG beyond its exact resolution.
Can I generate as many barcodes as I want?
Yes, with no sign-up or limits. Remember product EAN-13 numbers must come from GS1: generating the image of a code you don't own points the sale at another product. For your own references and logistics there is no restriction.
Related tools
Embed Barcode Generator on your site
Add Barcode Generator to any web page with a simple iframe. Free, with attribution to miguelacm.es.
<iframe
src="https://miguelacm.es/embed/barcode-generator"
width="100%"
height="700"
frameborder="0"
title="Barcode Generator — miguelacm.es"
></iframe>View embed in new tab →