Make a Code 128 barcode from any text: letters, digits and punctuation
Runs in your browser. Nothing you type is sent anywhere. Updated on 25 Oct 2026.Code 128 holds any ASCII text, which makes it the barcode of choice for shipping labels, warehouse bins and asset tags. It also packs digits two to a symbol, so a long order number stays surprisingly narrow. The character sets are chosen for you and the check character is worked into the bars, where it belongs and is never printed.
Open the page with Code 128 already selected as the Barcode type.
Type any ASCII text up to 80 characters, such as an order number or a bin location.
Read the hint under the box for the module count, which sets how wide the barcode prints.
Press SVG to download it, or Copy SVG to place it on a shipping label.
This barcode generator makes the six one-dimensional symbologies people actually need: EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14. Type the data, get the barcode, and download it as SVG for print or PNG for a document. Bar width, height, margin and the human-readable text underneath are all adjustable.
Check digits are handled properly. For EAN-13, EAN-8, UPC-A and ITF-14 you can enter the data without the final digit and it is calculated, or with it and it is verified; if it is wrong you are told the digit it should be, rather than being handed a barcode that scans as the wrong product. Code 39 can add its modulo 43 check character. Code 128 always carries a check character inside the bars, which is why it is never printed.
Not included, and why: QR, Data Matrix, Aztec and PDF417 are two-dimensional codes with error correction, a different job entirely, and for QR the QR Code Generator on this site already does it. GS1-128, Code 93, Codabar, MSI Plessey and UPC-E are each left out for a stated reason on the page. Everything runs in your browser; nothing you type is uploaded.
The rest of the article, and all 6 questions about Barcode Generator, are on the Barcode Generator page.
Pick the symbology and type the data without the final digit: 12 digits for EAN-13, 11 for UPC-A, 7 for EAN-8, 13 for ITF-14. The check digit is calculated and shown. If you paste the complete number instead, it is verified, and a wrong check digit is named rather than silently accepted.
For a retail product sold outside North America use EAN-13, inside it use UPC-A. For a shipping carton use ITF-14. For anything internal, such as an asset tag, a bin or an order number, use Code 128: it holds letters as well as digits and is the most compact of the six.
No, and it does not pretend to. QR is a two-dimensional code with Reed-Solomon error correction, which is a different job from drawing bars. The QR Code Generator on this site makes QR codes for links, WiFi, contacts and UPI payments.
For a product sold in shops, yes. Retailers scan the number against the GS1 registry, so a made-up EAN-13 or UPC-A will either fail or point at somebody else's product. For internal use, such as your own stock or assets, any Code 128 or Code 39 value works and costs nothing.
Still stuck? Ask about Barcode Generator and anybody who knows can answer. No account needed.
Same job, other tools: GUID Generator – Generate GUIDs for .NET, SQL Server and Windows, in brace format · ULID Generator – Sortable 26-character ULIDs, monotonic within a millisecond, with a time decoder · SHA-256 Generator – SHA-256 hash of any text or file, in hex or Base64 · Cron Expression Generator – Generate a cron expression by choosing when the job should run.
On the related tools: Sitemap Index Generator – Split a large site into numbered sitemaps with an index file.
In the collection Barcode and QR Code Tools.