Free Barcode Generator

Create Code 128, QR Code, EAN-13, UPC-A, Data Matrix, GS1 and 68 browser-tested barcode types. Download as PNG, SVG or PDF — free, no signup, no watermark.

68 barcode typesPNG · SVG · PDFNo watermarkNothing uploaded

Barcode settings

#000000
#FFFFFF

Preview

Need to print these barcodes — or put them on a full label?

The free LabelInn app places your barcode on a real label with text, logos and prices, then prints directly to Zebra, TSC, Toshiba and Epson thermal printers — including bulk printing from Excel.

Get LabelInn — Free →

01

A real barcode generator that does what the others don't

Most free online barcode generators hand you a small, watermarked PNG of a single 1D barcode and stop there. This tool exposes a tested 68-format catalog from the bwip-js engine in your browser: 1D and 2D codes, GS1 application-identifier support, automatic check digits, and clean vector (SVG) output you can scale without blurring. Nothing you type is uploaded anywhere.

Just need a QR code? Use the purpose-built QR code generator for URLs, Wi-Fi, vCard and more. Want a full desktop app that prints directly to label printers and bulk-generates from Excel? That's the free barcode generator software below.

CHOOSING A TYPE

Which barcode type should I use?

Start from what the code is stuck on, not from the name of the symbology. Each row is a real render you can load into the generator above.

What you are labellingUse thisExample
A product sold through shop tills worldwide EAN-13
13 digits: 12 of data plus 1 check digit
EAN-13 barcode of 5901234123457
A product sold in the US or Canada UPC-A
12 digits. A UPC-A is an EAN-13 with a leading 0, so the same item can carry either
UPC-A barcode of 036000291452
A pack too small for an EAN-13 EAN-8
8 digits: 7 of data plus the check digit
EAN-8 barcode of 96385074
Outer cartons that no till will scan ITF-14
14 digits (GTIN-14); the bars are wide so it prints on corrugated board
ITF-14 barcode of 10614141000002 inside a bearer frame
Lot, expiry or serial on a shipping unit GS1-128
GS1 application identifiers in brackets, for example (01) GTIN (10) lot
GS1-128 barcode carrying a GTIN and a lot number
A pallet or parcel that must be tracked SSCC-18
18 digits, sent in GS1-128 under identifier (00)
SSCC-18 pallet barcode 306141411234567891 in GS1-128
Internal stock, assets, order and bin numbers Code 128
Any ASCII text; the most compact general-purpose linear code, no registration needed
Code 128 barcode of LBL-INN-0042
A link, Wi-Fi login or contact card for a phone QR Code
Up to 7,089 digits; phone cameras read it with no app
QR code that opens the LabelInn barcode generator page
Tiny parts, electronics, direct part marking Data Matrix
Up to 3,116 digits in a small square; a quiet zone of one module is enough
Data Matrix code of LOT42-2026-0007
A serialised medicine pack GS1 Data Matrix
GTIN, lot, expiry and serial in one GS1 symbol
GS1 Data Matrix with GTIN, lot and expiry
A form, ID or ticket with a lot of text PDF417
Up to 2,710 digits in a wide stacked symbol
PDF417 stacked barcode with several lines of text
A transit ticket or small label with no quiet zone Aztec
Up to 3,832 digits; the specification asks for no quiet zone because of its centre bullseye
Aztec code of TICKET-0001-ZONE-2
Parcel carrier sortation MaxiCode
Fixed size, about 1 inch square, up to 93 characters; read at speed at any angle
MaxiCode symbol with a bullseye in the middle

Retail numbers are licensed. A generator can draw any number, but a product number that shops and marketplaces accept (a GTIN) comes from GS1 through your company prefix. For tests and internal use, GS1 reserves numbers starting 200 to 299 so they cannot collide with a real product.

02

Supported barcode types

TypeBest forFormat
Code 128Logistics, shipping, warehouse1D
GS1-128Supply chain, expiry/lot (AI data)1D
Code 39 / 93Industrial, government, healthcare1D
EAN-13 / EAN-8Retail products, supermarkets1D
UPC-A / UPC-ENorth American retail1D
ITF-14 / I2of5Cartons, outer packaging1D
Codabar / MSILibraries, inventory1D
QR CodeURLs, vCards, Wi-Fi, packaging2D
Data Matrix / GS1 DMSmall parts, electronics, pharma2D
PDF417IDs, boarding passes, large data2D
AztecTransit tickets, small media2D
DataBar familyCoupons, produce and compact GS1 labels1D / stacked
MaxiCode / DotCode / Han XinLogistics and specialized matrix workflows2D
POSTNET / Intelligent Mail / Royal MailPostal routing and mail automationPostal
HIBC / Pharmacode / PZNHealthcare and pharmaceutical identification1D / 2D

03

How to generate a barcode

  1. Pick a barcode type from the dropdown.
  2. Type your data — a product code, URL, or GS1 (AI) string.
  3. Adjust size, colors, quiet zone and rotation to taste.
  4. Download as PNG, SVG or PDF.

For how to choose a symbology, set X-dimension and quiet zones, and keep scans reliable in print, read the barcode printing guide.

WORKED EXAMPLE

From 12 digits to a scannable EAN-13

One real number, followed all the way to the bars. The barcodes below are rendered by the same bwip-js engine this generator runs; the annotated figures are drawn over those real modules.

Type 590123412345 with EAN-13 selected. The generator appends the check digit and draws 5901234123457. The last digit is not chosen: it is the number that lifts a weighted sum to the next multiple of ten.

Weights alternate 1 and 3, and the digit next to the check digit always has weight 3:

EAN-13 barcode of 5901234123457 generated in the browser
EAN-13 5901234123457, rendered by bwip-js. The check digit is the final 7.
Digit position123456789101112
Digit590123412345
Weight131313131313
Digit x weight52703294329415
Sum5 + 27 + 0 + 3 + 2 + 9 + 4 + 3 + 2 + 9 + 4 + 15 = 83
Check digitnext multiple of 10 is 90, and 90 - 83 = 7

A wrong digit anywhere changes the sum and therefore the check digit, which is why a scanner can reject a misread instead of returning a wrong product. The check digit calculator does the same arithmetic for EAN-8, UPC-A, ITF-14, GLN and SSCC-18.

What the 113 modules are

EAN-13 5901234123457 split into quiet zone, start guard, six left digits, centre guard, six right digits, end guard and right quiet zone, 113 modules in total
The symbol is 95 modules wide: 3 start guard, 42 for six left digits, 5 centre guard, 42 for six right digits, 3 end guard. GS1 asks for 11 modules of clear space on the left and 7 on the right, so the full footprint is 113 modules, 37.29 mm at the nominal 0.33 mm module.

Need a valid number to test with?

The button below builds a random 13-digit EAN-13 that starts with 200, a range GS1 reserves for internal use, so it is safe for test labels and cannot clash with a real product. The check digit is computed with the arithmetic above.

WHY IT WILL NOT SCAN

Print size, quiet zone and the mistakes that break a good barcode

A barcode that looks perfect on screen fails in print for a short list of reasons. The numbers below are the GS1 figures for EAN-13 and UPC-A; the same logic holds for every linear code.

1. The module is too narrow

The module (X-dimension) is the width of the thinnest bar. GS1 defines 100% as 0.33 mm for EAN-13 and UPC-A and allows 80% to 200%. Under 0.264 mm the symbol is outside what GS1 allows and ordinary scanners start to fail.

The same EAN-13 drawn to scale at 80, 100 and 200 percent magnification: bar widths 25.08, 31.35 and 62.70 millimetres
Same number, three sizes, drawn to scale. 80% is the floor, 200% the ceiling.

2. The printer cannot make the module you asked for

A thermal printer draws whole dots, so the module is a whole number of dots. That is where a "correct" size quietly drops under the floor:

PrinterDot sizeModule in dotsModule in mmMagnificationResult
203 dpi0.125 mm20.25075.8%below the 80% floor
203 dpi0.125 mm30.375113.7%use this
300 dpi0.085 mm30.25477.0%below the 80% floor
300 dpi0.085 mm40.339102.6%use this
600 dpi0.042 mm70.29689.8%smallest that passes

At 3 dots on a 203 dpi printer the EAN-13 bars are 35.66 mm wide, so with its quiet zones the symbol needs 42.4 mm and does not fit a 40 mm wide label: check the width before you print, or use the X-dimension and quiet zone calculator, which snaps to the dots your printer can make. When you download a PNG from this page, print it at 100% scale and pick a size setting that makes one module a whole number of printer dots; scaling it by a fractional percentage blurs the edges, so prefer SVG or PDF for anything that will be resized.

3. The quiet zone is missing

Scanners need blank space before the first bar and after the last one: 11 modules on the left of an EAN-13 and 7 on the right, which is 3.63 mm and 2.31 mm at the nominal size. A border, a fold, a neighbouring text line or a label edge inside that space makes the scanner read the clutter as part of the code. The Quiet zone slider in the generator adds margin around the symbol; keep it generous when the code will sit next to other print.

Two EAN-13 barcodes: one with clear quiet zones, one with a dark edge touching the bars
Same bars, same width. Only the empty space changed.

4. Wrong colours or a transparent background

  • Many scanners read with red light, so red, orange or light-yellow bars on white look blank to them. Use black or a dark blue on a light background.
  • A transparent PNG over a dark or patterned label loses its contrast. Place it on a white or light area.
  • Light bars on a dark background (inverted) are not read by many 1D scanners. Test with the scanner you will actually use before you print a run.

5. Stretched or re-sampled images

Resizing a PNG in a word processor by dragging one handle changes the module width in one direction only, and bilinear scaling turns sharp bars into grey ones. Download the SVG or PDF and size it proportionally, or generate the PNG at the size you need with the size slider.

6. The number is wrong, not the print

If an EAN-13, UPC-A or ITF-14 is rejected by a scanner program rather than failing to read, the check digit is usually the cause. Type the full number into this generator: a wrong last digit shows an error here, and the check digit calculator shows which digit it should be.

QUICK ANSWERS

What people usually come here to do

  • Barcode from a link or URL. Use QR Code.
  • Text to barcode. Code 128 takes any printable ASCII text.
  • A random barcode for testing. See the random EAN-13 button in the worked example above.
  • A 2D code. QR Code for phones, Data Matrix for small parts, Aztec for tickets, PDF417 for data-heavy documents. Each has a row in the decision table.
  • Print a barcode. Download the SVG or PDF and print at 100% scale, or place the barcode on a full label in the free LabelInn app and print straight to the label printer.
  • Many barcodes at once. The Batch / serial panel makes up to 10 from a list or a number range; the app prints one label per spreadsheet row.

04

Embed this barcode generator on your site

Free to embed — just keep the attribution link. Great for help centers, supplier portals and intranets.

<iframe src="https://www.labelinn.com/en/barcode-generator?embed=1" width="100%" height="640" style="border:1px solid #e5e7eb;border-radius:12px" title="Free Barcode Generator by LabelInn" loading="lazy"></iframe> <p>Free <a href="https://www.labelinn.com/en/barcode-generator">barcode generator</a> by LabelInn</p>

Need a QR code instead? Try the dedicated QR code generator. Prefer a full desktop app that prints and bulk-generates from Excel? See our free barcode generator software, or explore all LabelInn features.

THE PROBLEM, THEN THE FIX

This code: it looks right on screen, so why will it not scan?

A code that is slightly too small, too tight or the wrong type is the usual reason a scanner refuses it.

The problemThe code is drawn at a size that suits the screen, not the scanner.

  1. Choose from 74 symbologies: LabelInn screenshot
    1Choose from 74 symbologiesEvery entry shows a live preview, so you pick the code by sight instead of by name.
  2. Set the data and the readability rules: LabelInn screenshot
    2Set the data and the readability rulesStatic value, spreadsheet column, database field or counter, plus X-dimension and quiet zone.
  3. Preview, then print: LabelInn screenshot
    3Preview, then printCheck the real label, choose the printer and the number of copies, and print.

The fixPick the symbology from a preview list, set the module width and quiet zone, and check the real label before you print.Get LabelInn free

QUESTIONS / FAQ

Frequently asked questions

Is this barcode generator really free?

Yes — no signup, no watermark, no limit on single barcodes. The batch panel under the generator makes the first 10 rows of a list for free. Everything runs in your browser, so nothing you type is uploaded.

Can I download a vector (SVG)?

Yes. Download as scalable SVG, high-resolution PNG, or a print-ready PDF.

Are EAN/UPC check digits automatic?

Yes. Enter 12 digits for EAN-13, 11 for UPC-A or 7 for EAN-8 and the check digit is added for you. Enter the full number and it is validated: a wrong last digit shows an error instead of a barcode. To see the arithmetic, use the check digit calculator.

Which barcode type should I use?

Retail products: EAN-13 (UPC-A in North America). Cartons that are not scanned at a till: ITF-14 or GS1-128. Pallets: SSCC-18 in GS1-128. Internal stock, assets and order numbers: Code 128. Links, Wi-Fi and contacts: QR Code. Small parts and pharma packs: Data Matrix. IDs and forms with a lot of text: PDF417. The decision table above gives the reason for each.

How do I make a barcode from a link or URL?

Use a QR Code, not a linear barcode. Pick QR Code in the type list, paste the full address including https:// and download it. A URL is too long for a practical EAN or Code 128, and phone cameras read QR directly. The dedicated QR code generator also builds Wi-Fi and vCard payloads.

Can I make a barcode with a transparent background?

Yes: tick Transparent background and download the PNG or SVG. The bars keep their colour and nothing sits behind them, so it only scans if it is placed on a light, plain area. On dark or coloured label stock the contrast is lost and the scanner cannot see the bars.

Can I use a barcode from this page to sell in shops or on Amazon?

The symbol is free, the number is not: retail product numbers (GTINs) are licensed through GS1 and your company prefix is what makes a code unique worldwide. This page draws any number you type, so use it for numbers you own, or for internal numbers that start with 200 to 299, which GS1 reserves for in-company use.

What size should I print an EAN-13?

GS1 defines 100% magnification as 0.33 mm per module, which makes the 95-module symbol 31.35 mm wide before quiet zones. It may be scaled between 80% (0.264 mm) and 200% (0.66 mm), and it needs 11 modules of empty space on the left and 7 on the right. At 203 dpi a 2-dot module is 0.25 mm and falls below the 80% floor, so use 3 dots; at 300 dpi use 4.

Can I generate many barcodes at once?

Yes, up to 10 at a time: open Batch / serial under the generator, paste a list or set a serial range and download a ZIP of PNGs or a PDF. Longer lists come with Starter and above, or the 14-day trial. The free LabelInn app binds an Excel or CSV column to the barcode field and prints one label per row.

How do I print to a Zebra or TSC printer?

Download the image and print it, or use the free LabelInn app to place the barcode on a full label and print directly — including bulk runs from Excel.