Shim

Code 39 Barcode Generator

Letters and digits, the old reliable format.

A to Z, 0 to 9, space and - . $ / + %. Lower case is upper cased.

60px

Letters and digits, the old reliable format.

How to use it

  1. Type the value. Letters, digits and a few symbols. Lower case is converted, because the format has no lower case.
  2. Check what came out. The line under the code shows exactly what was encoded, after upper casing.
  3. Download the SVG. Code 39 is wide for its content, so give it room. Print from the SVG at the size the label needs.

When you would use this

Code 39 is the older alphanumeric barcode, still common on asset tags, library books and military and automotive labels because the readers already installed understand it. It holds 43 characters: the capital letters, the digits, a space, and six symbols. There is no lower case, so anything typed in lower case is converted rather than refused. Each character is nine elements wide, three of them thick, which makes it noticeably wider than Code 128 for the same content and is the main reason not to choose it for anything new. It carries no check digit by default. Characters it cannot hold are refused rather than dropped, because a label quietly missing a character is worse than one that was never printed.

Questions

Why can I not use lower case or punctuation?
Code 39 holds 43 characters and no more. Anything outside them is refused here rather than silently dropped, because a code missing a character is worse than one that was never made.
Should I use Code 39 or Code 128?
Code 128 for anything new. It is denser, holds the full printable set, and carries a check digit. Code 39 is worth keeping for equipment that only reads it.
Why will my printed barcode not scan?
Usually size or the margin. Print from the SVG at its intended size, keep the clear space either side, and use black on white rather than a colour.