Enter the correct data
Enter an asset identifier such as ASSET-2048. Review the uppercase value and use only the supported characters; do not add start or stop asterisks.














A Code 39 barcode represents an identifier with bars and spaces that a compatible scanner converts back to text. It is useful when an existing asset or inventory system expects Code 39. This editor supports uppercase letters, digits, spaces and the characters - . $ / + %. Enter up to 60 characters; lowercase input is normalised to uppercase. See the ISO Code 39 specification for the underlying format.
Use ASSET-2048 for an equipment tag, then scan it into the field your asset register uses. Leave the start and stop characters to the generator rather than typing asterisks around the value. If the record depends on lowercase letters or other printable punctuation, compare Code 128 before choosing the label format.
Enter the data, check the symbol and test the downloaded label in the workflow where it will be scanned.
Enter an asset identifier such as ASSET-2048. Review the uppercase value and use only the supported characters; do not add start or stop asterisks.
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.
Keep the same identifier across the printed tag and your asset register. Confirm that your scanner is configured for Code 39 and that its checksum settings match the receiving application.
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.

Two identical tools can have different asset IDs, such as TOOL-1042 and TOOL-1043. Use the identifier of the individual tool when your register tracks each unit separately. A shared model number identifies the model, so it cannot distinguish those two physical assets.

If your existing register treats asset-a and ASSET-A as different records, this editor's Code 39 normalisation makes both values ASSET-A. Resolve that conflict before labelling the records, or use a format that preserves the required case, such as Code 128.
QR Code AI checks Code 39 characters and normalises letters to uppercase before saving an asset label. Compare that workflow with Code 128 when your asset register needs to preserve lowercase references. Green checks mark a better fit for the stated need. Select an icon or underlined label for details.
| What to compare | Code 39 | Code 128 |
|---|---|---|
Lowercase input | Uppercase outputUppercase output Normalised to uppercase | Preserved in the encoded value |
Editor text | A–Z · 0–9 · symbolsA–Z · 0–9 · symbols A–Z, digits, spaces and - . $ / + % | ASCII + lowercaseASCII + lowercase Printable ASCII, including lowercase |
Editor limit | 1–60 characters1–60 characters 1 to 60 characters | 1–80 characters1–80 characters 1 to 80 characters |
Example ID | ASSET-2048 | Asset-2048-blue |
Workflow fit | Code 39 requiredCode 39 required Use when your reader and register expect Code 39 | Mixed case neededMixed case needed Use when the workflow accepts Code 128 and needs mixed case |
Keep the normalised Code 39 reference in QR Code AI’s searchable library, organise it with tags and review its one-year change history. A Workspace Viewer can preview and download the label without changing the saved record.
These are the two QR Code AI editor configurations, not universal capacity limits. Extended Full ASCII Code 39 is a separate variant and is not offered here. Confirm the scanner configuration before changing existing asset labels. The ISO Code 39 overview identifies the underlying symbology; the character and length limits above describe this editor.
Input, printing and saved barcode behaviour
The editor accepts up to 60 characters using A–Z, 0–9, a space and - . $ / + %. Lowercase letters are normalised to uppercase. It does not provide extended Full ASCII Code 39 encoding for arbitrary text.
No. Enter the identifier itself. The generator supplies the symbol's start and stop structure. An asterisk is not accepted as part of your value in this editor.
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 dynamic 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.