Code 39 Barcode Generator

Create uppercase asset labels for scanners that use Code 39

COMPANIES OF ALL SIZES TRUST US

What is a Code 39 barcode?

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.

How to create a Code 39 barcode

Enter the data, check the symbol and test the downloaded label in the workflow where it will be scanned.

  1. Step 1

    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.

  2. Step 2

    Review the symbol and contrast

    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.

  3. Step 3

    Download and test a label

    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.

Prepare your Code 39 label for its destination

Check your data, preserve clear margins and choose the right file for your label.

Match an existing Code 39 workflow

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.

Keep clear margins

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.

Choose your export format

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.

Code 39 for an equipment register

Two identical tools with separate Code 39 asset tags labelled TOOL-1042 and TOOL-1043.

Distinguish two tools of the same model

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.

The identifiers asset-a and ASSET-A converge to the same uppercase Code 39 value, ASSET-A.

Avoid collisions in a case-sensitive register

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.

Code 39 vs Code 128 for asset labels

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.

Format and input guidance · sources checked October 30, 2026
What to compare
Code 39
Code 128

Lowercase input

Preserved in the encoded value

Editor text

ASCII + lowercase

ASCII + lowercase

Printable ASCII, including lowercase

Editor limit

1–80 characters

1–80 characters

1 to 80 characters

Example ID

Asset-2048-blue

Workflow fit

Mixed case needed

Mixed 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.

Code 39 barcode questions

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.

Use the barcode format required by the retailer. Code 39 can label records in a compatible internal system, but generating one does not assign a retail GTIN or replace a requested EAN-13 or UPC-A 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 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.