Assets and industrial labels
Code 39 barcode generator
Encode uppercase asset IDs with the original Code 39 character set and explicitly choose whether your workflow uses its optional Modulo 43 check character.
Loading Code 39 tool…
The native Code 39 character set
This generator uses standard Code 39 rather than Full ASCII Code 39. It accepts uppercase A–Z, digits, spaces, and the symbols hyphen, period, dollar, slash, plus, and percent.
- Start and stop stars are generated automatically
- Lowercase text is rejected instead of silently converted
- Input is capped at 48 characters to avoid impractically wide labels
Optional Modulo 43 check character
Code 39 does not universally require a check character. Enable it only when the scanner or receiving database is configured to expect and validate Modulo 43; otherwise it may appear as an extra decoded character.
- Default: no optional check character
- Enabled: checksum is encoded and printed
- Changing the option invalidates the previous output
Code 39 barcode generator FAQ
Can Code 39 encode lowercase text?
Not in its native character set. This tool rejects lowercase rather than switching to the different Full ASCII Code 39 convention.
Do I type the start and stop asterisks?
No. The encoder supplies them, and an asterisk is not accepted as data.
Should I enable the check character?
Only if the system consuming the barcode specifies Modulo 43. The choice must match scanner configuration.
Why is Code 39 wider than Code 128?
Code 39 uses a less dense pattern per character. Code 128 is usually preferable when label width is constrained.