Free Barcode Generator

Choose a format, type your number or text, and download a scannable barcode as PNG or SVG. Check digits are calculated and verified for you, and everything is generated in your browser.

Barcode Format

Any ASCII character (letters, digits, punctuation)

Only changes the printed text โ€” scanners still read the barcode value.

Styling

2px
100px
10ร— bar width = 20px
20px

Preview

Code 128

Letters, digits & symbols. Accepts: Any ASCII character (letters, digits, punctuation).

Example: ABC-12345

Summary

A barcode generator turns a number or short text into a pattern of bars that a scanner can read. To make a barcode free and privately here, choose a Barcode Format such as Code 128 or EAN-13, type your value in Barcode Value, and click Download PNG or Download SVG. Check digits for EAN-13, EAN-8, UPC-A, ITF-14 and ISBN are worked out for you. The barcode is drawn in your browser, so nothing you type is uploaded; you can check the Network tab in DevTools.

For stock, asset tags and parcels, any value you choose works in Code 128 (any ASCII text) or Code 39 (capital letters, digits and a few symbols). A retail EAN-13 or UPC-A needs a number issued to your company by GS1, and this tool draws it but cannot register it. Need to store a web address or a paragraph instead? Use the QR code generator.

The check digit is a GS1 modulo-10 sum: starting at the rightmost data digit, multiply the digits alternately by 3 and 1, add them up, and the check digit is whatever brings the total to the next multiple of 10 (0 if the sum is already a multiple of 10). For 590123412345 the sum is 83, so the check digit is 7 and the barcode encodes 5901234123457.

Table of Use: What to Type and What Gets Encoded

Barcode formats, the value to type and the data that is encoded
NeedFormatYou typeEncoded in the bars
Stock or parcel labelCode 128ABC-12345ABC-12345 (any ASCII text)
Retail product, worldwideEAN-13590123412345 (12 digits)5901234123457 (check digit 7 added)
Retail product, US and CanadaUPC-A01234567890 (11 digits)012345678905 (check digit 5 added)
BookISBN (Bookland)0-306-40615-29780306406157 as an EAN-13
Shipping cartonITF-141540014128876 (13 digits)15400141288763 (check digit 3 added)
Small packageEAN-89638507 (7 digits)96385074 (check digit 4 added)
Warehouse tagCode 39code39CODE39 (letters become uppercase)
Pharmaceutical packagingPharmacode1234The number 1234 (allowed range 3 to 131070)

Features

  • Nine formats. Code 128 (any ASCII character), Code 39 (A to Z, 0 to 9, space and - . $ / + %), EAN-13, EAN-8, UPC-A, ISBN, ITF-14, MSI (digits only, no check digit added) and Pharmacode. A UPC-A is the same as an EAN-13 that starts with 0.
  • Check digits calculated and verified for EAN-13, EAN-8, UPC-A, ITF-14 and ISBN-13. An ISBN-10 is checked with its own modulo-11 rule and converted to ISBN-13.
  • Plain-English errors. Wrong length, forbidden characters and bad check digits each get a message saying what to fix, and a wrong digit is never turned into a barcode.
  • Styling controls. Bar Width from 1 to 4 pixels in half-pixel steps, Height from 50 to 200 pixels, Bar Color and Background (color picker or hex code), Quiet Zone from 0 to 20 times the bar width, and Font Size from 12 to 32. Custom Text replaces the printed text under the bars, and Show text below barcode hides it.
  • Scan-safety warnings when the quiet zone is below the minimum for the format, when the bars are lighter than the background, or when contrast is under 4.5:1.
  • Three outputs. Download PNG, Download SVG and Copy SVG Code. Files are named like barcode-ean13-5901234123457.png.

Limits: one barcode at a time, and linear (1D) codes only. There is no QR or Data Matrix here. If you need a unique value to encode, the UUID generator or the random string generator can supply one.

How to Use the Barcode Generator

  1. Under Barcode Format, click the format you need, for example Code 128 or EAN-13. The hint under the value box lists what it accepts.
  2. Type your number or text in Barcode Value. A green note shows the full number once a check digit has been added; a red message explains anything that cannot be encoded.
  3. Optionally set Custom Text (optional) or untick Show text below barcode.
  4. Under Styling, adjust Bar Width, Height, Bar Color, Background, Quiet Zone and Font Size. Keep dark bars on a light background.
  5. Check the preview and the size line under it, then click Download PNG, Download SVG or Copy SVG Code.

Who Can Use It

Small shops and warehouses can label shelves and stock with Code 128 or Code 39, or print a whole sheet of Code 128 product labels at once with the label generator, which draws its own barcode. Self-publishers can draw the ISBN barcode for a back cover and check the number first with the ISBN validator. Developers and testers can produce sample codes to try a scanner or a point-of-sale screen.

Freelancers can give each document a scannable reference, for example the invoice number on a bill made with the invoice generator. After downloading, resize the PNG with the image resizer, reduce its file size with the image compressor, or convert it for software that wants JPG with the PNG to JPG converter.

FAQs

How do I create a barcode online for free?

Pick a Barcode Format such as Code 128 or EAN-13, then type your value in the Barcode Value box; the preview updates immediately. Change the bar width, height, colors, quiet zone and font size if you need to, then click Download PNG or Download SVG, or Copy SVG Code. There is no sign-up, no watermark and no limit on how many barcodes you make.

Does the barcode generator calculate the check digit?

Yes, for EAN-13, EAN-8, UPC-A, ITF-14 and ISBN. Type the number without its last digit and the GS1 check digit is added; type the full number and it is verified, and a wrong digit is reported with the correct one. Code 128 always gets its built-in check character, added automatically by the barcode library; Code 39 is drawn without its optional check character, and MSI gets none from this tool.

Can I use a generated barcode on products I sell in shops?

It will scan, but retailers accept only numbers issued to your company by GS1 (EAN-13 or UPC-A, or EAN-8 for very small packs), through the GS1 member organisation in your country. A barcode generator draws the bars; it does not register a number. For your own stock, asset tags or parcels, any value you choose works in Code 128 (any ASCII text) or Code 39 (capital letters, digits and a few symbols).

What size should my barcode be?

As of October 2026, GS1 retail guidance sets the nominal narrow bar (X-dimension) of an EAN-13 or UPC-A at 0.33 mm and allows 80% to 200% of it, which is 0.264 mm to 0.66 mm; the bars are 22.85 mm tall at 100%. Download the SVG, scale it in your design program until the narrowest bar reaches the size you need, and keep the quiet zones.

What is a quiet zone and why does my barcode not scan without it?

The quiet zone is the blank margin before the first bar and after the last bar. A scanner uses it to find where the code starts and ends, so printing text or a border right against the bars can stop it reading. The generator sets the minimum for each format, such as 11 times the bar width for EAN-13 and 10 for Code 128, and warns you if you shrink it.

Should I download my barcode as PNG or SVG?

Use SVG for packaging and print: it is a vector file, so the bars stay perfectly sharp at any size. Use PNG for documents, spreadsheets and websites. The PNG is saved at twice the preview size with whole-pixel bar edges. Very long codes drop to 1x when the bar width is a whole number; otherwise the tool tells you to use the SVG.

How do I make an ISBN barcode for a book?

Choose ISBN (Bookland) and type a 10-digit or 13-digit ISBN, with or without hyphens or an "ISBN" prefix. The tool checks the check digit, converts an ISBN-10 to its 978 ISBN-13 form and draws it as an EAN-13, which is what bookshop scanners read. Typing 0-306-40615-2 produces a barcode for 9780306406157.

Is it safe to make barcodes online, or is my data uploaded?

The barcode is drawn by the JsBarcode library inside your browser and the PNG is made on a canvas on your device, so the value you type is not uploaded. The tool makes no network request with it, which you can confirm in the Network tab of your browser DevTools while you click the download buttons.