Barcode Generator

🔒 Local only Image & File

Create Code 128, EAN-13, UPC-A, or Code 39 barcodes with live validation and PNG or SVG downloads.

Barcode Generator turns text and product numbers into downloadable one-dimensional barcodes for labels, inventory, packaging drafts, and system tests. It validates EAN-13 and UPC-A check digits and can calculate the final digit from a 12-digit EAN or 11-digit UPC payload. Rendering happens locally in your browser with JsBarcode, so FunnyTools does not receive the values you enter.

Tool area

The barcode is generated locally in your browser; your value is never uploaded.

Code 128 suits order IDs, inventory codes, and internal labels with letters, numbers, or symbols.

What this tool can do

  • Generate Code 128, EAN-13, UPC-A, and Code 39 barcodes from text or numbers.
  • Calculate or validate EAN-13 and UPC-A check digits before enabling a download.
  • Download a high-resolution PNG for documents or a scalable SVG for layout and print work.
  • Keep the entered value in the current browser tab without uploading it to a server.

Choose the barcode format before designing the label

The short answer is to use Code 128 for flexible internal labels, EAN-13 or UPC-A when a retail channel requires those product-number standards, and Code 39 when an older industrial workflow specifically expects it. Barcode formats are not interchangeable merely because the same scanner can recognize several of them. A retailer, warehouse, shipping platform, or legacy database may accept only one symbology and one exact data length.

This generator creates the barcode graphic; it does not issue a Global Trade Item Number, search an ownership database, or register a product. A number that passes a check-digit calculation is mathematically well formed, but that does not prove it belongs to your organization or is authorized for retail use. Confirm numbering requirements with GS1, your retailer, or the system receiving the scan before printing production packaging.

Code 128 for inventory, orders, and internal identifiers

Code 128 is usually the best general-purpose choice for stock numbers, order IDs, package references, work orders, and asset labels. It can encode letters, digits, and many symbols while keeping reasonably high data density. If you need a scanner to type a short internal identifier and no external standard dictates the format, start with Code 128.

Flexible does not mean unlimited. A longer value creates a wider barcode, and reducing that wide graphic to fit a small label can make individual bars too narrow for a camera or laser scanner. Store detailed descriptions in your database and encode a concise lookup key instead. Avoid placing personal data, full notes, or long tracking URLs directly in a one-dimensional barcode when a short reference will work.

EAN-13 and UPC-A for retail product numbers

EAN-13 contains exactly 13 digits and is widely used on retail products around the world. UPC-A contains exactly 12 digits and is especially common in North American retail. The final digit in each format is a check digit calculated from the preceding digits with alternating weights. It helps catch common typing and scanning errors, but it does not carry product details by itself.

Enter a 12-digit EAN payload or an 11-digit UPC payload and this tool appends the calculated check digit. If you enter all 13 EAN digits or all 12 UPC digits, the tool recalculates the final digit and displays an error when it does not match. When an error appears, verify the source product record instead of changing the last digit merely to make the value pass. The source data may contain a transposed or missing digit elsewhere.

The name, price, company, and stock status shown after a retail scan come from the receiving point-of-sale or inventory database. They are not embedded in the bars. You therefore need both a correctly assigned identifier and a correct database record. Use the retailer or logistics provider’s certification procedure for final production artwork.

EAN-13 and UPC-A workflows for ecommerce sellers

Before listing a product, confirm the identifier type required for the sales region and marketplace. EAN-13 is common across Europe, Asia, and many international retail channels, while UPC-A is especially common in the United States and Canada. Amazon, marketplaces, and retailers may compare the submitted GTIN with brand and product records. This tool creates the graphic and checks the number structure; it does not obtain or register an identifier that a marketplace will accept.

The check digit is the final digit, calculated from the first 12 EAN digits or first 11 UPC digits. It catches many data-entry errors but does not validate identifier ownership. If a marketplace rejects a number with valid check-digit arithmetic, inspect its source, brand association, category rules, and exemption status instead of repeatedly changing the last digit.

For print, use SVG where possible, keep dark bars on a white background, preserve the quiet zones, and never stretch the artwork. At nominal size, EAN-13 and UPC-A are about 37.3 mm wide including quiet zones and 25.9 mm high including the human-readable digits. A retailer may permit different magnifications or require an additional text area. Export at final package size and scan the proof using the real stock, printer, and receiving equipment.

Barcode vs QR code: which should you use?

A one-dimensional barcode stores data across a row of bars and usually carries a short product number or internal ID. A QR code is a two-dimensional grid that can hold more text, URLs, Wi-Fi details, or contact data and includes error correction. Traditional barcodes are routinely read by retail laser or imaging scanners, while QR codes are designed to work well with ordinary phone cameras.

Use Code 128, EAN-13, or UPC-A when a scan should look up one identifier in a point-of-sale, inventory, or logistics system. Use a QR code when customers should open a product page, manual, form, or contact record on a phone. Packaging can contain both, but each code needs its own clear space and final-size scan test.

To encode a URL or longer text, use the QR Code Generator.

Code 39 for simple legacy and industrial workflows

Code 39 is common in older industrial, automotive, defense, and asset-management systems. It supports uppercase letters, digits, spaces, and a small set of punctuation. Many older scanners can read it, and its rules are straightforward, but it uses more horizontal space than Code 128 for similar content. That makes it less suitable for long identifiers on small labels.

The generator converts Code 39 letters to uppercase and rejects unsupported characters. Some organizations require an optional Mod 43 check character, a particular start-and-stop presentation, or strict dimensions. This page produces a standard Code 39 graphic without those organization-specific controls, so follow the receiving system’s documentation when a contract or operating procedure defines additional requirements.

How to generate and download a barcode

Enter the text or number first, then choose the required format. The preview updates shortly after you stop typing. For EAN-13 and UPC-A, invalid lengths and incorrect check digits disable both download buttons and show a specific message. Read the human-readable line under the bars and compare it with the source record before exporting.

Choose PNG for Word, PowerPoint, spreadsheets, quick mockups, and applications that expect a regular image. Choose SVG for vector layout software, label templates, and artwork that may need resizing. SVG remains sharp when scaled, but it can still become unscannable if you squeeze its width, distort its aspect ratio, cover the bars, or remove the quiet zones on the left and right.

  • Use Code 128 first when the value is an internal ID and no external specification applies.
  • Supply 12 digits for EAN-13 or 11 digits for UPC-A when you want the tool to calculate the last digit.
  • Treat a check-digit error as a reason to inspect the complete source value.
  • Scan the final printed label with the actual equipment used in the real workflow.

Printing limits and quality checks

A successful browser preview does not guarantee a successful printed scan. Readability depends on bar width, height, resolution, contrast, quiet zones, printer behavior, label material, lighting, curvature, and the scanner itself. A low-resolution screenshot, ink spread, thermal-printer damage, glossy reflections, patterned packaging, or a label wrapped around a narrow bottle can all reduce reliability.

Use dark bars on a plain light background, keep the image proportions intact, and leave clear space around both ends. Do not place a logo, caption, border, or cutting mark over the bars. If a PNG must be enlarged substantially, regenerate or use SVG rather than stretching a small raster image. For production retail, logistics, medical, or regulated labels, use the mandated dimensions and verification equipment instead of relying on visual inspection alone.

Privacy and responsible data handling

The value is passed to JsBarcode inside your browser and the PNG or SVG is created on your device. FunnyTools does not need a backend request for generation. This is useful for internal references and draft product numbers, but the downloaded file can still expose the encoded value to anyone who receives or scans it.

Use a non-sensitive lookup identifier instead of encoding passwords, payment details, medical data, or unnecessary personal information. Store downloaded artwork according to your organization’s access and retention rules. Local generation protects the input from being uploaded by this page; it does not make the resulting label private once you print, email, or publish it.

How to use

  1. Enter a product number, stock code, order ID, asset ID, or other short value.
  2. Choose Code 128, EAN-13, UPC-A, or Code 39 and review the live preview.
  3. For EAN-13 or UPC-A, resolve any length or check-digit message before downloading.
  4. Download PNG or SVG, preserve the aspect ratio and quiet zones, then scan-test the final printed size.

Use cases

  • Create a Code 128 SVG for warehouse stock labels.
  • Enter a 12-digit payload and calculate the thirteenth EAN-13 digit for a packaging draft.
  • Validate a complete 12-digit UPC-A value before adding it to a North American label mockup.
  • Generate uppercase Code 39 asset IDs for a scanner used by a legacy system.

Content and verification review:

How to verify a Barcode Generator result before relying on it

This is a reproducible review method, not another list of button instructions. Start with a small baseline whose answer you can predict, test one boundary condition, and only then use real material. Pixel dimensions, format, transparency, compression quality, and destination limits need separate checks. Conversion cannot restore detail missing from the source.

Establish a predictable baseline

Use “Create a Code 128 SVG for warehouse stock labels.” as the first test case. Begin with “Enter a product number, stock code, order ID, asset ID, or other short value.” and write down the expected result before clicking anything. If the output differs, check units, formatting, whitespace, file page count, and selected options before assuming either the tool or source data is correct.

Probe an edge or failure case

For a second run, adapt “Enter a 12-digit payload and calculate the thirteenth EAN-13 digit for a packaging draft.” and deliberately include one empty value, extreme value, duplicate, unusual character, large file, or unsupported format. The relevant boundary is: This tool does not issue, register, or look up GS1 identifiers; a valid check digit only confirms the numeric structure. This tells you when the page should be used as a draft aid rather than the final authority.

Cross-check before acceptance

The page is designed to “Generate Code 128, EAN-13, UPC-A, and Code 39 barcodes from text or numbers..” Write down the output you expect before running it; this makes format and setting errors easier to spot. If the result will be shared, imported elsewhere, used to replace an original file, or affect money or grades, also complete the final action “Download PNG or SVG, preserve the aspect ratio and quiet zones, then scan-test the final printed size..” Keep the input assumptions and untouched source so another person can reproduce the decision later.

Acceptance checklist

  • Input: confirm that the source, units, timezone, encoding, or file format matches the fields on Barcode Generator.
  • Process: run one small case you can judge independently, followed by one likely edge case.
  • Output: compare counts, pages, dimensions, totals, timing, or format, and reopen any downloaded file.
  • Decision: retain the source and verify important output against official rules, the destination system, or a second method.

Who is it for

  • Warehouse and office teams creating short inventory, order, work-order, or asset labels.
  • Packaging teams checking EAN-13 or UPC-A length and check digits during artwork preparation.
  • Designers and developers who need barcode PNG or SVG assets for documents, templates, and test data.
  • Operations teams comparing Code 128 and Code 39 with existing scanners and legacy software.

Real examples

Warehouse label template

A small warehouse converts its existing item IDs to Code 128 SVG, places each graphic in a fixed label template, and tests samples with the same handheld scanners used during picking.

Packaging proof correction

A designer enters a full EAN-13 number and receives a check-digit error. The product team corrects the master record before the SVG reaches the print proof, preventing an avoidable packaging revision.

Legacy scanner compatibility

A factory creates short uppercase Code 39 asset IDs because its established scanner profile requires that format, then confirms allowed characters and physical label width before batch printing.

Good to know

  • This tool does not issue, register, or look up GS1 identifiers; a valid check digit only confirms the numeric structure.
  • Barcode rendering is local, but you remain responsible for protecting the downloaded image and the value it reveals.
  • Retail, logistics, healthcare, and regulated workflows may impose exact size, quiet-zone, magnification, and print-quality rules.

FAQ

How are EAN-13 and UPC-A check digits handled?
Enter 12 EAN digits or 11 UPC digits and the tool calculates the final digit. Enter a complete 13- or 12-digit number and it validates the existing final digit, showing the expected digit when there is a mismatch.
Does a valid check digit mean I can use the product number?
No. It only confirms the arithmetic structure. It does not establish GS1 registration, company ownership, retailer acceptance, or a correct product database record.
Should an ecommerce listing use EAN-13 or UPC-A?
Follow the marketplace and target region. EAN-13 is common in international markets, while UPC-A is common in the United States and Canada. Before listing, confirm the GTIN source, brand record, and current marketplace rules.
What print size should I use for EAN-13 or UPC-A?
At nominal size, the symbol is about 37.3 mm wide including quiet zones and 25.9 mm high including the human-readable digits. Allowed magnification depends on the retailer and print specification, so preserve quiet zones and proportions and scan-test the final package.
Should I download PNG or SVG?
PNG works well in documents and quick mockups. SVG is preferable for scalable layout and print work, provided you preserve its proportions and quiet zones.
Why does a printed barcode fail when the preview looks correct?
Common causes include a label that is too small, cropped quiet zones, distorted proportions, low contrast, ink spread, reflective material, curved packaging, or incompatible scanner settings.
Is my barcode value uploaded?
No. JsBarcode renders the graphic in your browser. FunnyTools does not receive or store the text or product number you enter.

Privacy & local processing

🔒 This tool runs entirely in your browser. No data is uploaded to any server.

JsBarcode generates the barcode locally in your browser. The text, product number, and output graphic are not uploaded to this site or a third-party server.

Trust & usage note

This tool runs mainly in your browser. Your input is not actively uploaded to a server. Avoid entering highly sensitive data. Results are for reference only.

Last updated:

Embed this tool

Get updates

New tools and practical tips, straight to your inbox. No spam, unsubscribe anytime.