qrabbit.net

Code 39 barcode generator

This Code 39 barcode generator turns capital letters, numbers and a few symbols into a barcode that needs no GS1 number and no account. It's the format behind most asset tags, ID badges and industrial part labels.

BC Live preview black on white
no content yet
type to generate
barcode.png
data:
Format
Resolution

A barcode you can fill with anything, no number needed

Also called the 3 of 9 barcode, because three of the nine bars and spaces in every character are wide, Code 39 is simple enough that almost any cheap scanner reads it - which is exactly why warehouses and workshops still use it.

Type a code, get a check character

Code 39 accepts capital letters, digits 0-9, and the symbols - . $ / + % and space, wrapped in asterisks that mark the start and stop of the code - that's the *ITEM-42* shape you'll see on the barcode itself.

A check character is optional in Code 39, unlike the GS1 formats where it's mandatory; this generator can add one using a mod 43 calculation, which catches more scanning errors on longer codes.

Check character calculator
*ITEM-42$*

The full character set

Code 39 character set
CharactersNotes
0-9Digits, encoded the same as letters - Code 39 has no digit-packing mode.
A-ZCapitals only; lower-case letters aren't part of standard Code 39.
- . $ / + %The seven symbol characters, plus a space.
* (start/stop)Marks the beginning and end of the code; not valid inside your data.

Where Code 39 gets used

Tool and asset tags

A workshop labels its own tools and kit with a code it invents itself - no registration, no fees.

*TOOL-0091*

ID badges

Staff and visitor badges often carry a Code 39 employee number a door reader scans on the way in.

*EMP-4471*

Industrial parts

A manufacturer's own part number goes straight onto a bin label or work order, unchanged.

*PN-33218*

Sources

Checked September 2026

Some readers need Code 39 configured to accept a check character - check your scanner's manual if codes with one don't scan.

Code 39 generator questions

No, it's optional - most Code 39 readers don't require one, but adding it costs nothing and catches more misreads on longer codes.

Not in standard Code 39: only capitals, digits and the seven symbol characters are defined - lower-case text gets rejected.

No: Code 39 isn't a GS1 format, so you can put any text in it without registering anything - it just won't scan at a retail till expecting an EAN or UPC number.

Each character is built from nine bars and spaces, and exactly three of them are wide - that's where both names, Code 39 and 3 of 9, come from.