AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I create a barcode online for free?

Open AnyTool Barcode Generator, pick a symbology — Code 128, EAN-13, EAN-8, UPC-A, Code 39 or ITF-14 — and type your value. The tool validates it for that format, computes the check digit where one is required, and draws a live barcode. Adjust the bar width, height, quiet zone and colours, toggle the human-readable line, then download a PNG or vector SVG or copy the image. Everything is generated in your browser, so nothing is uploaded.

  • Six symbologies: Code 128, EAN-13, EAN-8, UPC-A, Code 39 and ITF-14
  • Check digits computed automatically (modulo-103 for Code 128, mod-10 for EAN/UPC/ITF, optional mod-43 for Code 39)
  • Custom bar width, height, quiet zone, colours and an optional human-readable line
  • Download a crisp PNG or a resolution-independent SVG, or copy the image
  • 100% client-side — no server, no CDN, your data never leaves the browser

What is

Barcode Check Digit

A check digit is an extra digit appended to a barcode that is computed from the other digits by a fixed formula, letting a scanner detect most misreads. EAN-13, EAN-8, UPC-A and ITF-14 use a modulo-10 check digit (digits weighted 1 and 3); Code 128 uses a weighted modulo-103 symbol checksum; Code 39 can carry an optional modulo-43 check character. AnyTool computes the correct one for you.

Generators

Related terms

Quiet zoneSymbologyGTINGS1

Frequently Asked Questions

Use Code 128 for general text or internal IDs, EAN-13 or UPC-A for retail products, and ITF-14 for shipping cartons.

Code 128 is the most flexible: it encodes any ASCII text or numbers compactly and is the safest default for internal IDs, asset tags and tracking numbers. EAN-13 is the worldwide retail product code and UPC-A is its 12-digit North American equivalent; EAN-8 is a shorter version for small packages. Code 39 is older and bulkier but very widely supported for letters and digits, and ITF-14 (Interleaved 2 of 5) encodes the GTIN-14 printed on shipping cartons. AnyTool builds the correct pattern and check digit for whichever you pick.

Yes. Enter 12 digits for EAN-13 (or 11 for UPC-A, 7 for EAN-8, 13 for ITF-14) and the correct check digit is appended for you.

For the numeric retail symbologies the final digit is a check digit derived from the others. Type the value without it — 12 digits for EAN-13, 11 for UPC-A, 7 for EAN-8, 13 for ITF-14 — and AnyTool computes and appends the modulo-10 check digit automatically, showing the full encoded value. If you paste a complete code that already includes the check digit, the tool verifies it and warns you if it is wrong. Code 128 always carries a modulo-103 checksum, and Code 39 can add an optional modulo-43 check character.

The barcode will scan, but a real retail product code (a GTIN) must be a number assigned to you by GS1.

AnyTool produces a technically valid, scannable barcode for whatever number you enter, but a retail UPC or EAN is a GTIN — a Global Trade Item Number — that has to be assigned to your company by GS1, the organisation that manages these identifiers. A made-up number forms a correct barcode but is not a registered product and may clash with someone else’s. Use this tool for internal IDs, labels, events and prototypes freely; for products sold through retailers, obtain a real GS1 number first and encode that.

Usually too small, low print resolution, poor contrast, or not enough quiet zone. Enlarge it, print darker on light, and test-scan first.

Scan failures almost always come from physical print issues rather than the data: bars too thin for the printer’s resolution, low contrast (always print dark bars on a light background), the barcode scaled non-uniformly, or too little quiet zone — the empty margin scanners need to lock on. Increase the bar width and quiet zone in AnyTool, keep contrast high, print at a high DPI, and always test-scan a sample with the actual scanner before printing at volume.

Detailed Explanation

Technical Details

Supported Symbologies and Encoding

AnyTool Barcode Generator encodes six 1D symbologies with a custom engine built into the page — no external barcode library and no CDN. Code 128 is encoded with automatic code-set switching (A for control characters, B for general text, C for compact digit pairs) and a weighted modulo-103 symbol checksum. EAN-13 uses the correct L (odd), G (even) and R encodings with the first digit selecting the left-hand parity pattern; EAN-8 and UPC-A follow the same EAN/UPC family rules. Code 39 encodes digits, uppercase letters, space and the symbols - . $ / + % using its nine-element (3-of-9) patterns, and ITF-14 uses Interleaved 2 of 5 for the 14-digit shipping GTIN. The bar pattern is produced as a binary module string and rendered to a canvas or to vector SVG.

  • Code 128: auto A/B/C code-set switching, modulo-103 checksum
  • EAN-13 / EAN-8 / UPC-A: correct L/G/R parity, modulo-10 check digit
  • Code 39: 3-of-9 patterns with optional modulo-43 check character
  • ITF-14: Interleaved 2 of 5 for the 14-digit GTIN
  • Encoding tables built in — no library, no CDN
Methodology

Automatic Check Digits and Validation

For each symbology the tool validates the input against that format’s rules (allowed characters and required length) and computes the check digit where the standard requires one. Enter 12 digits for EAN-13, 11 for UPC-A, 7 for EAN-8 or 13 for ITF-14 and AnyTool appends the modulo-10 check digit automatically, then shows the full encoded value. If you paste a complete code that already includes a check digit, the tool verifies it and reports the expected digit when it is wrong. Code 128 always carries the modulo-103 checksum, and Code 39 can append an optional modulo-43 check character. Invalid characters or wrong lengths surface a clear inline error instead of drawing a broken barcode.

  • EAN-13 of 590123412345 resolves to check digit 7
  • Mod-10 check digit auto-added for EAN-13, EAN-8, UPC-A and ITF-14
  • Pasted full codes are verified; a wrong check digit is flagged
  • Code 128 modulo-103 and optional Code 39 modulo-43 supported
  • Clear inline errors for invalid characters or wrong length
Privacy & Security

Privacy, Output and Honest Limitations

Barcodes are generated entirely in the browser, so the value you type is never uploaded, logged or stored, and the tool works offline once cached. You can tune the bar width, height, quiet zone, colours and the human-readable line, then download a crisp PNG, export a resolution-independent SVG for sharp print, or copy the image. The honest caveats: retail and POS scanners need the exact symbology, a correct check digit, an intact quiet zone and adequate print resolution and contrast, so a barcode that is too small, low-DPI or low-contrast can still fail — always test-scan before mass printing. And a real retail product code (a GTIN/UPC/EAN) must be a number assigned to you by GS1; a made-up number forms a valid barcode but is not a registered product identifier.

  • No server, no CDN — the value never leaves the browser; works offline
  • Outputs: PNG, vector SVG, or clipboard image
  • Adjustable bar width, height, quiet zone, colours and text line
  • Test-scan before mass printing — print resolution and contrast matter
  • Real product GTINs must be assigned by GS1
Barcode generation: in-browser (AnyTool) vs typical online generators
CapabilityAnyToolTypical online generators
ProcessingRuns in your browser, no CDNOften server-side / API
PrivacyValue never uploaded; offline-capableMay send the value to a server
SymbologiesCode 128, EAN-13, EAN-8, UPC-A, Code 39, ITF-14Varies; some gated behind sign-up
Check digitsComputed and validated automaticallySometimes manual or missing
OutputPNG + vector SVG + copy imagePNG free; SVG often paid
CustomisationBar width, height, quiet zone, colours, textOften fixed
Cost / signupFree, no signup, no watermarkOften watermarked or gated
HonestyNotes GS1 + test-scan limitationsRarely stated

AnyTool generates every barcode locally in the browser and uploads nothing.