🧰 ToolPicoAll Tools →

Barcode Generator

Generate free barcodes in UPC-A (the US/Canada retail default), EAN-13, EAN-8, Code 128, Code 39, ITF, MSI, Pharmacode, and Codabar. Adjust height, bar width, color, and text; live preview, download PNG + SVG. No sign-up, no limits — your data stays on your device.

Free & no sign-up UPC-A default (US retail) 10+ formats in one tool ✓ Check digit automatic PNG + SVG download 100% in your browser Updated: Jul 19, 2026
🎨 Appearance — height, bar width, color, text (all free)
Choose a format and enter data — your barcode renders here live.
🔒 Private & local. The number or text you enter is never sent to a server; the barcode and downloads are generated entirely in your browser.
Quick answerTo generate a barcode, choose a format in the tool above (UPC-A for US/Canada retail, EAN-13 for international retail, or Code 128 for general purpose), enter the data to encode, and optionally adjust the height, bar width, color, and text visibility. For UPC-A, EAN-13, EAN-8, and ITF-14 the final check digit is calculated automatically. The barcode renders instantly — download it as a high-resolution PNG or a vector SVG for print. The tool is free, requires no sign-up, and your data stays on your device.

Bulk & sequential barcodes + Letter-size print sheet

Generate many barcodes at once: paste one value per line, or auto-generate a sequence (prefix + running number). Print all of them on a Letter-size label sheet or save as a PDF. The format and style settings above (height, color, text) are used for every barcode.

The caption replaces the printed label under the barcode on the label sheet (e.g. a product name or shelf location) — the barcode itself still encodes the value. Leave the caption blank to fall back to the value.
Example: prefix SHIP-, 1→12, step 1, 3 digits → SHIP-001 … SHIP-012. To append a suffix after the number, use the list mode instead.

What is a barcode, and how do you generate one?

What a barcode is, what each format is used for, and the steps for generating one for free.

A barcode converts data — typically a product number, serial number, or short text — into a pattern of lines and spaces a machine can read; it's a one-dimensional (1D) marking method. A scanner reads the varying widths of black bars and the white space between them to decode the value in a fraction of a second. Barcodes are the standard at store checkouts, in warehouse and inventory management, in logistics, and for tracking stock. This tool generates the most common barcode formats instantly, right in your browser — no data is ever sent to a server.

How do you generate a barcode? (5 steps)

Quick answer1) Choose the format that fits your use case (e.g. UPC-A, EAN-13, Code 128). 2) Enter the data to encode. 3) Adjust the height, bar width, quiet zone, and color. 4) Toggle the text and check the live preview. 5) Download it as a PNG or SVG.

Which format should I use for what?

  • UPC-A: The 12-digit standard used on retail products throughout the United States and Canada — the default format in this tool.
  • EAN-13 / EAN-8: UPC-A's international counterpart, the standard for retail packaging outside North America and increasingly worldwide (13 and 8 digits). EAN-8 is used for small packages.
  • Code 128 (A/B/C): Encodes letters, numbers, and symbols at high density with no fixed length requirement. The most flexible choice for serial numbers, shipping, and warehouse/logistics tracking. Code 128-C is shorter when encoding digits only.
  • Code 39: Common in industrial, defense, and logistics settings; encodes uppercase letters and digits and is compatible with many older scanners.
  • ITF / ITF-14: Encodes an even number of digits; ITF-14 is used for shipping cartons and outer packaging.
  • MSI: A digits-only format favored for warehouse shelf and inventory tags.
  • Pharmacode: A specialized format used for print-quality control on pharmaceutical packaging (a number from 3 to 131070).
  • Codabar: A classic format used in libraries, parcel services, and blood banks.

Why use this tool?

Quick answerMany barcode tools lock SVG downloads, high resolution, or color customization behind a paid plan. This barcode generator makes every format and every download free, with no sign-up, calculates the check digit automatically for UPC-A/EAN/ITF-14, warns you in plain language about invalid data, and runs 100% client-side so your data stays on your device.

Note: a barcode is just a line pattern. For an item to actually sell through a retailer, your UPC-A or EAN-13 number needs to be a valid GTIN issued through GS1 (GS1 US for UPC-A). This tool draws a barcode for whatever number you provide, but it does not issue or register numbers. For content meant to be scanned with a phone camera — a URL, Wi-Fi login, or contact card — a 2D QR code is the better choice, not a 1D barcode.

Barcode vs. QR code, PNG vs. SVG

Two commonly confused choices: which code type (1D/2D) to use, and which file format to download.

1D barcode or 2D QR code?

Linear barcode vs. QR code comparison
FeatureBarcode (1D — this tool)QR code (2D / matrix)
Data directionHorizontal bars onlyHorizontal + vertical (matrix)
CapacityLimited (a handful to dozens of digits)Very high (thousands of characters)
Typical useCheckout, inventory, logisticsURL, Wi-Fi, contact card, payment
Reading deviceLaser/infrared scannerPhone camera
Damage toleranceLowHigh (error correction)

A barcode is the right tool for price and stock tracking at point of sale; a QR code is better for rich content meant to be scanned with a phone.

Should I download PNG or SVG?

Choosing a download format
Use caseRecommended formatWhy
Label printer, Word/Excel, webPNGOpens everywhere, ready-made image
Packaging, signage, print shopSVGVector — crisp at any size, never blurs
Product label / brochureSVGPrint shops want vectors; bars stay sharp
Quick sharingPNGSingle file, ready to view

Barcode format reference

The formats this tool can generate, the data type each accepts, and typical uses.

Supported barcode formats (JsBarcode engine)
FormatData typeDigits / ruleTypical useExample
UPC-ADigits11 (+1 auto) or 12US/Canada retail036000291452
EAN-13Digits12 (+1 auto) or 13International retail5901234123457
EAN-8Digits7 (+1 auto) or 8Small packaging96385074
Code 128ASCII (letters+digits+symbols)Free lengthSerial no, logistics, general useSHIP-2026-A17
Code 128-CDigitsEven number of digitsDense numeric code12345678
GS1-128Application Identifiers(AI)value pairsShipping/logistics, GS1 supply chain(01)00012345678905(17)261231
Code 39UPPERCASE + digits + - . $ / + %Free lengthIndustrial, defenseITEM-42
ITFDigitsEven number of digitsCarton/distribution1234567890
ITF-14Digits13 (+1 auto) or 14Shipping carton15400141288763
MSIDigitsFree lengthWarehouse shelf / inventory1234567
PharmacodeNumber3 – 131070Pharmaceutical packaging1234
CodabarDigits + - $ : / . +Free length; A–D may bookendLibrary, blood bankA40156B

Popular barcode searches

Barcode guides

Practical, accurate, and citable answers to the most common questions.

Generating a UPC-A barcode: digit structure and the check digit

UPC-A has 12 digits: the first digits are the manufacturer prefix assigned through GS1 US, followed by the product number, with the final digit as the check digit. The check digit is calculated mathematically from the first 11 digits; in this tool, entering 11 digits is enough — the 12th digit is added automatically. You can also enter the full 12 digits yourself.

Important: drawing a barcode and owning a valid product number are two different things. For retail sale, the number must be assigned through GS1 US, or it may collide with another product. This tool draws the barcode for the number you provide, but it does not assign or register numbers.

Code 128 or Code 39? Which for internal tracking?

Code 128 encodes all 128 ASCII characters (upper/lowercase letters, digits, symbols) at high density, representing the same data in a narrower barcode than Code 39. It's the modern standard for serial numbers, shipments, and warehouse labels. Code 39 encodes only uppercase letters, digits, and a handful of symbols, takes up more space, but is known for very broad hardware compatibility and simplicity.

Recommendation: if you're building a new system and space/density matters, choose Code 128; if you're working with very old scanners or need simple fixed alphanumeric codes, choose Code 39. If you're only encoding digits, Code 128-C packs two digits per symbol for the shortest possible barcode (requires an even digit count).

Why won't my barcode scan? Contrast, size, and the quiet zone

Three things are critical for a barcode to scan reliably: contrast, size, and the quiet zone (margin). Scanners expect a dark bar on a light background, so the safest choice is always black bars on a white background. A colored background or a light-colored bar fails to read on many laser scanners. This tool warns you when contrast is low or the bar color is lighter than the background.

Don't print a barcode too small — as bar width (the "X-dimension") shrinks, scanning gets harder. Leave enough blank white space on both sides of the barcode (the quiet zone, typically about 10× the narrowest bar width) — use the margin control for this. Always test with a different scanner or phone app after printing.

PNG or SVG? The right file format for label printing

PNG is a pixel-based image — practical for label printers, Word/Excel documents, email, and the web. This tool generates PNG at high resolution (upscaling and sampling the vector preview), so bars stay sharp. SVG is vector: it scales to any size without blurring, and print shops generally prefer it for professional printing.

Recommendation: use PNG for quick office output and label printers; use SVG for packaging, signage, large posters, and print-shop jobs. Both are free in this tool and generated entirely in your browser.

Barcode terms glossary

Short definitions of the core concepts used in the tool and on this page.

Barcode (1D)A machine-readable mark that encodes data as varying bar and space widths along a single horizontal axis.
UPC / EANInternational numbering standards for retail products. UPC-A is North America's standard; EAN-13 is used worldwide.
GTINGlobal Trade Item Number — the number that uniquely identifies a product. UPC-A and EAN-13 are both GTIN formats.
Check digitA final validation digit calculated from the preceding digits; it catches misreads or typing errors.
Code 128A flexible format that encodes all ASCII characters at high density, with no fixed digit-count requirement.
Code 39A classic format encoding uppercase letters, digits, and a few symbols, known for broad hardware compatibility.
ITF-14A 14-digit, even-digit-count format used for shipping cartons and outer packaging.
Bar width (X-dimension)The width of the narrowest bar. Smaller values make the barcode denser but harder to scan.
Quiet zoneThe blank white space to the left and right of a barcode, required so a scanner can distinguish it from its surroundings.
SVGA vector image format. Scales to any size without blurring — ideal for packaging and print.

Frequently asked questions

How do you generate a barcode?
First choose a format (UPC-A for US/Canada retail, EAN-13 for international retail, Code 128 for general purpose), then enter the data to encode. For formats like UPC-A/EAN the final check digit is calculated automatically. Optionally adjust the bar width, height, color, and text visibility. The barcode renders instantly; download it as a PNG or, for print, an SVG. The tool is free, requires no sign-up, and runs entirely in your browser.
What is a UPC-A barcode?
UPC-A is the standard 12-digit barcode used on retail products throughout the United States and Canada — the default format in this tool. The first digits identify the manufacturer prefix (assigned through GS1 US), the middle digits the product number, and the final digit is a check digit calculated from the other 11. Enter 11 digits here and the 12th is added automatically. For actual retail sale, the number must be a valid GTIN issued through GS1 US.
What is an EAN-13 barcode?
EAN-13 is the 13-digit barcode standard used on retail packaging outside North America and increasingly worldwide — UPC-A's international counterpart. The first digits identify the GS1 country/organization prefix, the middle digits the manufacturer and product, and the last digit is a check digit calculated from the other 12. Enter 12 digits here and the 13th digit is added automatically.
What is Code 128, and what is it used for?
Code 128 encodes letters, numbers, and symbols (the full ASCII set) at high density. It has no fixed digit-count requirement, making it the most popular general-purpose format for serial numbers, shipment codes, warehouse/logistics labels, and internal tracking. When encoding digits only, Code 128-C packs two digits into a single symbol for a shorter barcode (requires an even digit count).
How do I download a barcode as a PNG?
After generating your barcode, click Download PNG in the preview panel. The tool converts the live SVG preview into a high-resolution PNG image and downloads it to your device; no data is sent to a server. PNG is ideal for label printers, documents, and the web. For packaging, signage, or print-shop jobs, choose Download SVG instead for a vector file.
Which barcode format should I choose?
It depends on your use case: for a single retail product sold in the US or Canada, use UPC-A; for international retail, use EAN-13; for small packaging, use EAN-8; for internal serial numbers and warehouse tracking, use Code 128 or Code 39; for shipping cartons, use ITF-14; for shelf/inventory tags, use MSI; for pharmaceutical packaging, use Pharmacode; for libraries or blood banks, use Codabar. If you're not sure, start with Code 128 since it's flexible and widely supported.
What's the difference between a barcode and a QR code?
A barcode (1D) encodes data using horizontal bars only and typically holds a limited number of digits or characters; it's the standard for checkout and inventory systems. A QR code (2D / matrix) encodes data both horizontally and vertically, so it can hold much more information (a URL, Wi-Fi credentials, a contact card) and is read easily with a phone camera. Use a barcode for price/inventory tracking and point of sale; use a QR code for rich content meant to be scanned by a phone.
What is a check digit, and how is it calculated?
The check digit is a final digit calculated from the preceding digits using a formula (a weighted sum of odd/even positions, complemented to the next multiple of 10), letting a scanner catch a misread or a typing mistake before the number is used. In this tool, entering 11/12/7/13 digits for UPC-A/EAN-13/EAN-8/ITF-14 respectively is enough — the final digit is added automatically.
Is my barcode data sent to a server?
No. Barcode generation runs entirely in your browser (client-side), using the open-source JsBarcode library. The product number, serial number, or text you enter is never sent to, stored on, or logged by our servers — it disappears the moment you close the page. The PNG and SVG you download are also generated locally on your device. This is a privacy-friendly approach: your data never leaves it.
Can I print each barcode with its own custom label, like a product name?
Yes. In the Bulk & sequential section, switch to the "Value + caption (2 columns)" tab and paste one barcode per line as value, caption — for example 036000291452, Blueberry Jam 12oz. The barcode still encodes the value, but the printed label sheet shows your custom caption underneath it instead of the raw value, which is useful for product names, shelf locations, or asset tags.

How it works & sources

ToolPico's Barcode Generator is a free, independent barcode generator with no sign-up required. Barcode rendering is done with the open-source, widely used JsBarcode library (v3.11.6, self-hosted — no CDN call), directly in your browser; none of the data you enter is sent to a server. The formats are based on the relevant industry standards: UPC-A/EAN-13/EAN-8 (GS1 numbering and check digit), Code 128 (ISO/IEC 15417), Code 39, Interleaved 2 of 5 & ITF-14, MSI, Pharmacode, and Codabar. The check digit is calculated automatically for UPC-A, EAN-13, EAN-8, and ITF-14.

Source & engine: JsBarcode (self-hosted) — rendering follows the UPC/EAN/Code128/Code39 and ITF standards. Accuracy note: this tool draws a barcode for the number you supply; it does not verify whether the number is a valid, GS1-assigned GTIN. Scannability depends on contrast, bar width, quiet zone, and print quality — test with a different scanner or phone app before printing at scale. Last updated: July 19, 2026. Content is provided for informational purposes.
⚠️ Information & privacy note: This page is for informational purposes only and does not provide official number assignment (GS1/GTIN registration). Everything runs locally in your browser; the data you enter is never sent to, stored on, or logged by a server. For a commercial product barcode, make sure you've obtained a valid number through GS1 US (or your local GS1 member organization).

🔗 Add this tool to your site

Copy the code below into your own site. The tool is free, always up to date, and runs entirely on your page. No sign-up required.

Preview →
⚡ Built with ToolPico · toolpico.com