Skip to content
My Tiny Utils

Search tools

Type to find a tool, then press Enter to open it.

Barcode Generator

Make UPC-A, UPC-E, EAN-13, EAN-8, Code 128, Code 39 and ITF-14 barcodes free with check digits added. Download SVG/PNG or print Avery label sheets.

Processed locally in your browser — nothing is uploaded.

Barcode Generator

Any ASCII text — letters, digits, and symbols. Digit runs are packed automatically.

SKU-2026-000123

Barcode details

Format
Code 128
Encoded value
SKU-2026-000123
Check digit
92 (mod 103, automatic)
Code sets
B: SKU-2026- → C: 000123

Set C packs two digits per symbol, so digit runs make a shorter barcode.

Size
178 modules · 396 × 119 px

About Barcode Generator

Pick a format, type a value, and the barcode redraws as you type — no "Generate" button, no page reloads, no watermark. Every symbology is encoded by hand-written code that runs in your browser, so product numbers and SKUs never touch a server.

Supported formats:

  • Code 128 — any ASCII text: SKUs, serial numbers, bin locations, shipping references. The encoder picks the shortest mix of code sets automatically, packing runs of digits two to a bar pattern (set C) and switching to set A only for control characters, so the same value comes out narrower than naive generators produce.
  • EAN-13 and EAN-8 — retail product numbers used outside North America, and the barcode on every book (an ISBN-13 is an EAN-13 starting 978 or 979).
  • UPC-A and UPC-E — the 12-digit retail code used in the US and Canada, and its zero-suppressed 8-digit version for small packages. Paste a full UPC-A into UPC-E and it is compressed for you when its digits allow.
  • Code 39 — the older alphanumeric code still required by many industrial, automotive, and government systems, with an optional mod 43 check character.
  • ITF-14 — the GTIN-14 barcode printed on corrugated shipping cartons, with optional bearer bars.

Check digits are calculated for you. If you type the full number instead, the check digit is verified, and a typo is caught with the correct digit spelled out ("Check digit should be 1, not 7"), which also makes this a quick UPC/EAN check digit calculator. EAN and UPC codes are drawn the conventional way: longer guard bars at the edges and centre, with the digits grouped under each half.

Exporting and printing

  • SVG — vector, so it stays razor-sharp at any size. Use it for packaging artwork, Illustrator, Figma, Canva, and anything sent to a printer.
  • PNG — rendered at 1× to 8× scale for documents, spreadsheets, and web pages.
  • Copy SVG — paste the markup straight into HTML or a design tool.
  • Batch → label sheet PDF — paste a list with one value per line and get a print-ready PDF for Avery 5160 (30 per Letter sheet), Avery 5163 (10 per sheet), Avery L7160 (21 per A4 sheet), Avery L7163, a custom grid, or one barcode per page sized to the code for thermal label printers. Lines that aren't valid are listed with the reason and skipped; "Copies of each" fills a sheet with one code, and "Skip labels" lets you reuse a partly used sheet.

Common uses

  • Print SKU labels for inventory, shelves, and bins (Code 128)
  • Create UPC or EAN barcode artwork for product packaging from the numbers your GS1 membership assigned
  • Label FBA or warehouse cartons with ITF-14 case codes
  • Generate asset tags or employee ID badges (Code 39 or Code 128)
  • Check whether a UPC, EAN, or GTIN-14 has a valid check digit before it goes to print

Example

Input

Format: EAN-13
Value:  400638133393

Output

Check digit 1 is calculated → 4006381333931
Guard bars extended; 4 printed outside, 006381 | 333931 under the halves

Input

Format: Code 128
Value:  ABC-12345678

Output

Code sets: B: ABC- → C: 12345678
(the eight digits take four symbols instead of eight)

Limitations

  • A barcode is only as good as its number: to sell through retailers, UPC and EAN numbers must be licensed from GS1. This tool draws the barcode for a number; it can't issue one.
  • GS1-128 (application identifiers with FNC1), 2D codes like Data Matrix and PDF417, and EAN/UPC 2- and 5-digit add-ons aren't supported. For QR codes, use the QR Code Generator.
  • Code 128 here encodes ASCII only (no accented letters), up to 80 characters.
  • Always test-scan a printed sample, especially after changing colours, bar width, or printer. Low-contrast colours and bars narrower than your printer's dot size won't scan reliably.

Frequently asked questions

Is this barcode generator really free?

Yes. There is no sign-up, watermark, or limit on how many barcodes you make, and SVG, PNG, and label-sheet PDF downloads are all free. Everything is generated in your browser, so your product numbers are never uploaded.

Can I use these barcodes on products I sell in stores?

The barcodes themselves are standard and scan anywhere, but retailers and marketplaces check that UPC and EAN numbers belong to you, so the number must come from GS1 (or your country's GS1 office). Get your company prefix from GS1, then use this tool to turn the numbers into print-ready barcodes.

What's the difference between UPC and EAN-13?

UPC-A has 12 digits and is used mainly in the US and Canada; EAN-13 has 13 digits and is used everywhere else. A UPC-A is an EAN-13 with a leading zero, so modern scanners read both. UPC-E and EAN-8 are shortened versions for small packages.

How is the UPC or EAN check digit calculated?

Starting from the rightmost data digit, multiply the digits alternately by 3 and 1, add them up, and take the amount needed to reach the next multiple of 10. For 400638133393 the weighted sum is 89, so the check digit is 1 and the full EAN-13 is 4006381333931. Enter 12 digits here and it's added for you; enter all 13 and it's verified.

Which barcode type should I use for inventory labels?

Code 128 is the best default for internal SKUs, serial numbers, and locations: it encodes letters, digits, and symbols, is compact, and every scanner reads it. Use Code 39 only if an existing system requires it, and UPC/EAN only for retail products with GS1-issued numbers.

How do I print barcodes on Avery 5160 labels?

Switch to Batch mode, paste one value per line, choose Avery 5160 as the label sheet, and create the PDF. Print it at 100% or 'Actual size' — not 'Fit to page' — so each barcode lands on its label. Use 'Copies of each' to fill a sheet with one code and 'Skip labels' to start partway through a used sheet.

Should I download my barcode as SVG or PNG?

Use SVG for packaging, labels, and anything printed: it's vector, so bars stay perfectly sharp at any size. Use PNG for documents, spreadsheets, or websites, and pick a higher scale (4× or 8×) if it will be printed large.

Why won't my barcode scan?

The usual causes are low contrast (use dark bars on a light background; red bars don't scan), a missing quiet zone around the bars, bars printed too small for the printer's resolution, or a stretched image. Keep the default quiet zone, use the SVG or a high-resolution PNG, and scale the barcode proportionally.