Code 39 Barcode Generator

Make a Code 39 barcode, also called Code 3 of 9, online for free. Type capital letters, digits and a few symbols, or switch to Code 39 Full ASCII for lowercase text, add the optional modulo 43 check character, and download SVG, PNG, PDF or EPS at your printer's DPI.

Valid

48.5 × 19.4 mm at 300 DPI

Barcode

6 characters

A–Z, 0–9, - . $ / + % space.

Code 39 options

Size and resolution

Output DPI

300 DPI · Thermal / offset

4 px per module at 300 DPI. Print size: 48.5 × 19.4 mm (1.91 × 0.77 in). PNG, WebP and JPEG: 588 × 236 px.

Human-readable text

Text size and alignment

Alignment

Text font

FontNew

Label textNew

Font

Alignment

Printed in the file with the barcode, outside the quiet zone, in Helvetica or Courier so it looks the same in every format.

Colors

Contrast 21.0:1; estimated symbol contrast 100%.

Quiet zone (modules)2 · 10 · 2 · 10

Bar width reduction0 mil

Makes each bar thinner by this amount, to make up for ink that spreads on paper. Ask your printer for the value, or leave 0 for laser and thermal printing.

Rotation and backgroundNew0° · Filled

Rotation

In the preview, a checkered pattern shows the transparent areas. Print a transparent barcode only on a white or very light surface: scanners need the light quiet zone around it.

Margin and borderNew0 mm · no border

The margin is blank space outside the quiet zone, for cutting; the border is drawn at the outer edge. Both count in the print size.

Data inspectorNew6 chars
PresetsNew0 saved

No presets yet. Save the current settings to reuse them.

    Presets stay in this browser. They keep the type, size and style; the data and the logo are not saved.

    Recent barcodesNew0

    The barcodes you download appear here, newest first.

      The last 10 downloads, kept in this browser only.
      Code 39 · Live previewValid
      Code 39 barcode encoding CODE39
      New

      Scaled to fit. Actual size shows the print size on screen.

      Print simulationNew

      Shows how a worn print looks and tests it with the decoder.

      Type
      Code 39 · 1D
      Print size
      48.5 × 19.4 mm
      Raster
      588 × 236 px

      Download

      Vector drawing, 48.5 × 19.4 mm. Design and label programs place it at its print size.

      New
      More export optionsNewTest sheet · size set · embed code

      Print test sheet (PDF)

      The code at 80%, 100% and 150% with 100 mm and 4 in rulers. Print it at actual size and scan each copy before printing many.

      Size set (ZIP)

      Magnification

      Embed code

      Nothing you type is uploaded.New

      How to Create a Code 39 Barcode

      Type the data, choose standard or Full ASCII, decide on the check character, and download.

      1. Type your data in capital letters, digits and the symbols - . $ / + % or space.
      2. For lowercase letters or other symbols, choose Code 39 Full ASCII in the menu.
      3. Tick Add a check character if your scanner or system expects the modulo 43 check character.
      4. Download SVG, PNG, PDF or EPS and test-scan a print.

      Code 39 and Code 39 Full ASCII

      Standard Code 39 encodes 43 characters; Code 39 Full ASCII builds all 128 ASCII characters from pairs of them.

      Standard Code 39

      • Characters: 0 to 9, A to Z, the space and six symbols: -, ., $, /, + and %.
      • Start and stop: the * character, shown in the text under the bars.
      • Lowercase: not available, and the generator names any character it cannot encode.
      Code 39 barcode for A-1 $/+%. with a letter, a digit, the space and the six symbols Code 39 can encode, and the start and stop character * at both ends of the text.
      A-1 $/+%.: a letter, a digit, the space and the six symbols, between the * start and stop characters.

      Code 39 Full ASCII

      • Characters: all 128 ASCII characters, lowercase letters included.
      • How: each extra character is written as a pair of standard characters.
      • Reading: readers need Full ASCII decoding to rebuild the characters; the Barcode.codes scanner reads it.
      Code 39 Full ASCII barcode for the text Code 39 Full ASCII, with lowercase letters written as pairs of standard characters.
      Code 39 Full ASCII: lowercase letters as pairs of standard characters.

      Code 39 Specifications

      These are the rules of Code 39 and Code 39 Full ASCII as described in the encoder's references, which cite ISO/IEC 16388.

      Code 39 and Code 39 Full ASCII at a glance
      PropertyCode 39Code 39 Full ASCII
      DigitsVariable lengthVariable length; a character outside standard Code 39 takes two symbol characters
      CharactersDigits 0 to 9, capital letters A to Z, space and - . $ / + %; * is the start and stop characterAll 128 ASCII characters, lowercase letters and control characters included
      Check digitOptional modulo 43 check characterOptional modulo 43 check character, as in standard Code 39
      Symbology typeDiscrete (a narrow gap separates the characters), variable length and self-checkingDiscrete, variable length and self-checking, like standard Code 39
      Full ASCIICode 39 Extended, also called Code 39 Full ASCII, encodes all 128 ASCII characters with shift combinations of standard charactersNot applicable
      Width in this generator16 modules per character at a 3:1 wide-to-narrow ratio, the gap included16 modules per standard character and 32 for a character written as a pair, such as a lowercase letter
      StandardsISO/IEC 16388, ANSI/AIM BC1 (USS Code 39) and BS EN 800ISO/IEC 16388, ANSI/AIM BC1 (USS Code 39) and BS EN 800
      How extra characters are writtenNot applicableAs a shift combination of two standard Code 39 characters
      Where the numbers come fromYour own dataYour own data
      ExampleCODE39Code 39 Full ASCII

      BWIPP Code 39 and Code 39 Extended references (character set, start and stop, symbology type, modulo 43 check character, standards); width measured in this generator (test/page-examples.test.ts). BWIPP Code 39 Extended reference (full ASCII through shift combinations, options, standards); widths measured in this generator (test/page-examples.test.ts).

      Sources, checked 2026-10-04: Code 39 reference (BWIPP); Code 39 Extended reference (BWIPP).

      The Code 39 Check Character

      Code 39 works without a check character, but systems that need extra protection add one calculated with modulo 43.

      A Worked Example

      Each character has a value: 0 to 9 for digits, 10 to 35 for A to Z, and 36 to 42 for the seven symbols. For CODE39 the values add up to 12 + 24 + 13 + 14 + 3 + 9 = 75, and 75 modulo 43 is 32, the value of W, so the symbol encodes CODE39W.

      Code 39 barcode for CODE39 with the mod 43 check character W added at the end.
      CODE39 with its check character W: the symbol encodes CODE39W.

      When to Add It

      Add the check character only if the receiving system expects it, because a scanner that does not strip it passes W on as part of the data. The text under the bars shows the data without it.

      Why It Is Called Code 3 of 9

      Each Code 39 character is made of nine bars and spaces, and three of the nine are wide: that is where the name 3 of 9 comes from.

      Wide and Narrow Elements

      Five bars and four spaces form each character, with a narrow space between characters. In this generator a character takes 16 modules, so Code 39 is wider than Code 128 for the same data.

      Frequently Asked Questions

      Is Code 39 the Same as Code 3 of 9?

      Yes. Both names describe the same symbology; 3 of 9 refers to the three wide elements among the nine in each character.

      Can Code 39 Encode Lowercase Letters?

      Standard Code 39 cannot. Choose Code 39 Full ASCII, and set your scanner to Full ASCII so it rebuilds the lowercase letters.

      Why Are There Asterisks in the Text?

      The * is the start and stop character of Code 39. It is part of every symbol and is printed in the text, but scanners do not pass it on.

      Should I Add the Check Character?

      Only if the system that reads the barcode expects it. Otherwise the extra character ends up in the scanned data.

      Is This Code 39 Generator Free?

      Yes, with no account, watermark or download limit, for personal and commercial use.

      Why Is My Code 39 Barcode Wider Than Code 128?

      Code 39 uses 16 modules per character in this generator, against 11 for Code 128. Shorten the data, lower the X-dimension within what your printer handles, or use Code 128.