Tools

Free Tool

Free Code 128 Barcode Generator

Encode a SKU, bin, or serial as a Code 128 barcode. Auto picks a compact code set. Download PNG or SVG from your browser.

Encoded with Code B.

#040D12
#ffffff

Use dark bars on a light background. A scanner reads the bars, not the colors.

Code 128 barcode for TSHIRT-BLU-M-001

TSHIRT-BLU-M-001

Code 128 · 2px modules · quiet zone included

Code 128 for identifiers, not for quantities

Code 128 carries letters, digits, and other ASCII characters in a linear barcode. Warehouses use it on shelf labels, tote labels, and asset tags because handheld scanners read it quickly. The symbol only repeats the text you entered. It does not know the quantity on the shelf, and scanning it does not receive, pick, or transfer stock.

The inventory label guide uses a QR code when a phone should open a stock record. Use Code 128 when the inventory app is looking up a plain identifier instead. Print the same text under the bars so someone can type it if the label is damaged.

How Auto chooses the code set

Code C stores two digits in one symbol, so a numeric code is narrower. Code B stores one character per symbol and covers lowercase letters. Auto starts in Code C when the value is digits of a useful length, and uses Code B for mixed text such as a SKU. You can force Code A, B, or C when a scanner specification names the set. Code A is the one that includes control characters.

Amazon FNSKU labels

An FNSKU identifies one seller’s unit inside Amazon’s fulfillment network. Those labels are commonly Code 128. Paste the FNSKU you already have and this page draws the bars. It does not assign an FNSKU or send the value to Amazon. If the label spec names a module width or a code set, follow that spec, then scan a sample with the scanner that will read the label.

A Scanely QR next to the warehouse label can open a product card or a packing note. You can replace that page without reprinting the bars, and Scanely counts the scans. A stack of link codes belongs on the bulk QR generator.

How to create a Code 128 barcode

  1. Type the SKU, bin, serial, or FNSKU. Auto picks a compact code set, or choose A, B, or C when a spec names one.
  2. Read the line under the bars. It should match the value you typed, including hyphens.
  3. Download PNG or SVG and scan a printed label with the device your team uses.

Print a sample before a roll of labels

Download PNG for a direct print or SVG for a layout program. Keep the quiet zone that is already in the file, and keep the bars darker than the background. Then scan the physical label with the device your team will use. A retail EAN-13 or UPC-A number belongs on those generators, not in Code 128, unless your own system explicitly stores it that way. The barcode generator lists all three.

Free includes 3 dynamic codes. Compare plans on pricing. A dynamic QR code keeps the printed image while the link changes. The QR generator makes a static link code.

Frequently asked questions

When should I use Code 128 instead of a QR code?▾
Use Code 128 when the scanner or inventory app expects a linear barcode for a SKU, bin, serial, or other short identifier. Use a QR code when a phone should open a web page. Code 128 does not update stock by being scanned.
What do Auto, Code A, Code B, and Code C mean?▾
Auto chooses a compact encoding: long digit runs use Code C, and ordinary text uses Code B. Code B is letters, digits, and keyboard symbols. Code C is digits only, in pairs. Code A adds ASCII control characters and does not include lowercase letters.
Can I encode a SKU that contains letters?▾
Yes. A value such as TSHIRT-BLU-M-001 is encoded in Code B. A numeric value with an even number of digits is encoded in Code C, which uses less space. Auto makes that choice.
Is this GS1-128?▾
No. This is plain Code 128. It does not insert the FNC1 character or format GS1 application identifiers. If a trading partner requires GS1-128, this file will not satisfy that spec.
How long can the value be?▾
The tool accepts up to 80 ASCII characters. Longer symbols are harder to print and scan on a small label. The value stays exactly as you type it, including hyphens and spaces.