Code 39 Barcode Generator
Make a Code 39 barcode, also called Code 3 of 9, for an ID badge, parts label, or any system that expects it. The start and stop asterisks are added for you, and an optional mod 43 check character is one switch away.
1. Barcode type and content
Capital letters, numbers, spaces, and - . $ / + %. Small letters are changed to capitals, and the * start and stop characters are added for you.
Only turn this on if your scanner or system asks for it. The extra character shows at the end of the text.
2. Size and text
Width of the thinnest bar. Raise it for a larger, sharper PNG.
3. Colors
Loading the barcode maker…
Print a test copy and scan it before you print a full batch.
What is a Code 39 barcode?
Code 39 is a barcode that holds capital letters as well as numbers. It was developed in 1974. Each character is drawn on its own with a fixed pattern, which makes it simple to print and to read, even with basic scanners.
It is wider than newer barcodes and only holds capital letters, but ID badge systems, parts labels, and standards such as the US Department of Defense's LOGMARS were built around it, so many systems still require it.
Why use our Code 39 barcode generator
- ·No font tricks. No need to install a barcode font or remember to wrap values in asterisks.
- ·Mod 43 on demand. Add the check character when your system needs it, without working it out by hand.
- ·Forgiving input. Small letters become capitals, and characters Code 39 cannot hold are named so you can fix them.
- ·Free and private. Runs in your browser with no signup.
How to make a Code 39 barcode
- 1
Type your code
Enter capital letters, digits, spaces, or - . $ / + %. Small letters are changed to capitals, and any * you type at the ends is removed.
- 2
Turn on mod 43 if required
Only switch on the mod 43 check character if your scanner, system, or labeling standard asks for it.
- 3
Set the size
Code 39 is wide, so check the width shown under the preview against your label, and keep a margin of at least 10 bar widths.
- 4
Download and scan
Save a PNG or SVG, print a test label, and scan it with the scanner your system uses.
Code 39 fonts in Excel and Word vs a barcode image
A common way to make Code 39 is to install a Code 39 font and type the value between asterisks, such as *ABC-123*, in Excel or Word. That works because each character is drawn on its own. It also causes the most common problems:
- ·Missing asterisks. Without them the scanner cannot find the start and end, and nothing reads.
- ·Missing font. Send the file to someone without the font, and they see plain text instead of bars.
- ·No quiet zone. Text next to the barcode in the same cell can stop it from scanning.
A PNG or SVG made here avoids all three: the asterisks are built in, the image looks the same on every computer, and the margin is part of the image.
How the Code 39 mod 43 check character works
Each of the 43 Code 39 characters has a value: 0 to 9 are worth 0 to 9, A to Z are worth 10 to 35, and - . space $ / + % are worth 36 to 42. To get the check character, add up the values, divide by 43, and take the character whose value matches the remainder.
For CODE39: C (12) + O (24) + D (13) + E (14) + 3 + 9 = 75. 75 divided by 43 leaves 32, and 32 is W, so the barcode holds CODE39W. Turn on the mod 43 switch in the tool and you will see the same W added to the end of the text.
Who still uses Code 39
- ·Badge and ID card makers. Many employee ID badges carry a Code 39 barcode of the employee number, which entry and check-in scanners read.
- ·Manufacturing and parts labeling. The automotive industry and the US Department of Defense have long used Code 39 on parts and shipping labels, so older systems still expect it.
- ·Health product labels. Some labeling standards, such as the health industry's HIBC labels, use Code 39 with the mod 43 check character.
- ·Anyone replacing an old label. If your existing labels are Code 39, matching the format means no scanner settings have to change.
Code 39 barcode FAQ
- What characters can Code 39 hold?
- 43 characters: the capital letters A to Z, the digits 0 to 9, the space, and the symbols - . $ / + %. Small letters and other symbols are not part of standard Code 39.
- Do I need to type the asterisks?
- No. Every Code 39 barcode starts and ends with an asterisk, and the tool adds them for you. If you paste a value like *ABC-123* from a spreadsheet that used a Code 39 font, the outer asterisks are removed so they are not doubled.
- Why is my Code 39 barcode so wide?
- Each Code 39 character takes about 16 bar widths, and the two asterisks add two more characters. ABC-123 is 144 bar widths in Code 39 and 112 in Code 128. If your system accepts Code 128, it will give a shorter barcode.
- What is the mod 43 check character?
- An optional extra character added to the end of the barcode so the scanner can confirm the read. Most scanners do not need it, because each Code 39 character already has a fixed pattern of 3 wide and 6 narrow elements that catches most errors. Turn it on only if your system requires it.
- Can Code 39 hold small letters?
- Only in a variant called Full ASCII Code 39, which spells each small letter with two characters (for example +A for a). The scanner has to be set to Full ASCII mode to read it. This tool makes standard Code 39 only.
- Is Code 39 the same as Code 3 of 9?
- Yes. Code 3 of 9 is the older name. It comes from the way each character is drawn: 9 elements (5 bars and 4 spaces), 3 of which are wide.
- Is my text uploaded?
- No. The barcode is made in your browser, and nothing you type is sent to a server.