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 browserUpdated: Jul 19, 2026
📦 GS1-128 Application Identifier builder
Add one or more Application Identifiers (AI) below, then click Build GS1-128 data to compose the barcode string automatically (including the FNC1 start character and, where needed, AI-separator characters). Every AI is client-side only — nothing is sent anywhere.
🎨 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.
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
Feature
Barcode (1D — this tool)
QR code (2D / matrix)
Data direction
Horizontal bars only
Horizontal + vertical (matrix)
Capacity
Limited (a handful to dozens of digits)
Very high (thousands of characters)
Typical use
Checkout, inventory, logistics
URL, Wi-Fi, contact card, payment
Reading device
Laser/infrared scanner
Phone camera
Damage tolerance
Low
High (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 case
Recommended format
Why
Label printer, Word/Excel, web
PNG
Opens everywhere, ready-made image
Packaging, signage, print shop
SVG
Vector — crisp at any size, never blurs
Product label / brochure
SVG
Print shops want vectors; bars stay sharp
Quick sharing
PNG
Single file, ready to view
Barcode format reference
The formats this tool can generate, the data type each accepts, and typical uses.
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.