Code 128 barcode generator

Type any text, an order number, an SKU or an asset tag, and get a Code 128 barcode that standard handheld scanners read. Upper and lower case, digits, symbols and spaces all work. Download a PNG for labels and documents or an SVG for print. Free, no sign-up, made in your browser.

Style

Why Code 128, and how to keep it short

Code 128 encodes all 128 ASCII characters, so unlike Code 39 it takes lower case and symbols without tricks, and it is the barcode most label software, shipping systems and inventory apps default to. It switches between three code sets automatically: runs of digits are packed two per symbol. Measured with this page's encoder at 1 px per bar: 12345678 is 79 px wide, ABCDEFGH is 123 px, and the 16 digits 1234567890123456 fit in the same 123 px as those 8 letters. So if a label is tight, a numeric ID scans more easily at the same size than a mixed one. For GS1 shipping labels (SSCC, GTIN with batch or expiry), pick GS1-128 in the type list: it is Code 128 with application identifiers, and plain Code 128 would scan but not be read as GS1 data.

Tips for a barcode that scans

Quiet zone: keep the blank margin left and right of the bars (this page adds it); a label edge or text too close is the most common reason a barcode fails. Contrast: dark bars on a light background; red bars are invisible to most laser scanners, which use red light. Size: don't squash the width to fit a label: scale the whole image instead. EAN-13 and UPC-A are designed for about 37 × 26 mm at 100%, and printing below 80% needs a good printer. Print: use the SVG, which stays sharp at any size; a stretched PNG blurs the bar edges.

How it works

Barcodes are drawn in your browser by the open-source bwip-js library (MIT), a port of Barcode Writer in Pure PostScript, which validates input and computes check digits the way the standards define them. Nothing you type is sent to a server. Where your browser supports it, the page also scans its own output with the built-in barcode reader to confirm it decodes to exactly what you typed.

See also: free barcode generator, upc barcode generator, ean-13 barcode generator, isbn barcode generator, data matrix generator, QR code generator.

Barcodes on generated labels, invoices and PDFs

Need a barcode on every shipping label, ticket or invoice your app produces? Draw it in your HTML (an inline SVG from a barcode library, or an <img>) and render the page with the Shotmint API, which prints it in real Chromium so the bars come out exactly as in the browser:

curl -X POST https://shotmint.creasework.com/v1/pdf -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"html":"<h1>Order #42</h1><img src=\"https://your-site.com/barcode/42.svg\" width=\"300\">","format":"A6"}' -o label.pdf

Each PDF or screenshot is 1 credit. €5 buys 2,000 with no subscription, and credits never expire. Related free tools: invoice generator, HTML to PDF, HTML to image.

Get 25 free renders a month API docs

FAQ

Can I use these barcodes on products I sell? The image is yours to use anywhere, with no attribution. But for shop shelves the number matters: EAN and UPC numbers must come from GS1, or retailers will reject them. Code 128 and the others are fine for any internal numbering.

Why does it say the check digit is wrong? EAN, UPC, ITF-14 and ISBN numbers end with a digit computed from the others. Type the number without it and it's added for you; type it in full and it's verified, so a typo can't turn into a barcode that scans as the wrong product.

Is there a limit? No limits, no watermark and no account. Make as many as you need.

Which file should I download? SVG for print and packaging (vector, sharp at any size), PNG for Word, Google Docs and label software, JPG only if a tool accepts nothing else.

Related: QR code generator, invoice generator, receipt generator, SVG to PNG, image to Base64.

Related tools

EAN-13 barcode generator · ISBN barcode generator · UPC barcode generator · Barcode generator · QR code with logo · Wi-Fi QR code generator · QR code generator · Code to image · all free tools