Enter the correct data
Enter your internal identifier, such as SKU-2048-BLUE. Keep capitalization and punctuation consistent with the record your scanner should retrieve.














A Code 128 barcode stores text and numbers in a row of bars and spaces. A compatible scanner returns the encoded value to your inventory or business software. QR Code AI accepts up to 80 printable ASCII characters for this format, including uppercase and lowercase letters. The barcode identifies a record; your connected software supplies its product name, price or stock level. See the ISO Code 128 specification for the underlying format.
For an internal stock label, encode SKU-2048-BLUE and keep that exact identifier in your inventory system. Scan the downloaded label into a test field before printing the batch. Choose GS1-128 when a trading partner asks for GS1 Application Identifiers such as a GTIN, lot number or expiry date.
Enter the data, check the symbol and test the downloaded label in the workflow where it will be scanned.
Enter your internal identifier, such as SKU-2048-BLUE. Keep capitalization and punctuation consistent with the record your scanner should retrieve.
Choose a dark foreground on a lighter background. Keep the built-in quiet zones and add padding if needed. Review the preview and resolve validation or scannability errors.
Choose PNG, JPG, WebP, SVG, PDF or EPS. Preserve proportions and clear margins in your layout, then scan a printed sample with the intended reader and compare the returned data.
Check your data, preserve clear margins and choose the right file for your label.
Code 128 supports printable ASCII text, including lowercase letters. Use the identifier already held in your system and compare the decoded output character by character. Do not add GS1 field labels to an ordinary Code 128 value.
The generator preserves required quiet zones around the symbol. Keep these areas clear in your layout, and test a printed sample at its intended size with the scanner you will use.
Download SVG, PDF or EPS vectors, or PNG, JPG or WebP images. Every export is checked against the saved data; test the final print on its intended material too. Compare the six barcode download formats in our guide.
Input, printing and saved barcode behavior
This Code 128 generator accepts 1 to 80 printable ASCII characters: letters, digits, spaces and supported punctuation. It does not accept arbitrary Unicode or control characters. These are the editor's input limits, rather than a statement about every Code 128 implementation.
Code 128 supports mixed-case printable ASCII text in this editor. Code 39 uses uppercase letters, digits and a smaller punctuation set. Choose the format expected by your scanner and inventory software; switching formats alone does not create an inventory record.
No. GS1-128 uses Code 128 encoding with GS1-specific structure and Application Identifiers. Use the GS1-128 generator for structured GTIN, lot, date or SSCC data. Typing parentheses around numbers in an ordinary Code 128 barcode does not make it a GS1-128 symbol.
Yes. QR Code AI offers SVG, PDF and EPS vector exports, plus PNG, JPG and WebP raster files. Keep the complete symbol and its blank margins in the layout. Verify a printed sample at its intended size with a compatible scanner.
A downloaded barcode contains fixed data and has no built-in expiry date. Changing a saved value requires downloading and printing a new symbol; existing copies keep their original data. These Barcodes do not provide scan analytics or editable redirects. A connected inventory or checkout system may update its own record for the same identifier. For customer-facing web links with scan analytics, consider a URL QR code and QR code tracking.
Yes. A personal account and each non-Premium Workspace can create three Barcodes. Archiving a Barcode does not free a creation slot; Premium allows additional creations. Creating, editing or downloading a Barcode does not start the seven-day trial. The trial begins with the first QR code or Smart Link in that scope. The barcode itself retains its directly encoded value when a trial ends; it has no managed redirect to keep active.