Code 39 format tool

Code 39 Barcode Generator for Industrial and Warehouse Labels

Create a Code 39 label for uppercase industrial identifiers using the exact character set expected by legacy scanners.

Barcode production workspace

Deterministic rendering · live preview · print-ready exports

Sign in for AIStandard generation is free

Barcode settings

Size

Human-readable text

Advanced settings

Output

Text above barcode

Text below barcode

Live preview

Rendered in browser

Current symbology: code39

Use it for single generation, batch generation and reusable templates. Export as JPEG, PNG or high-resolution SVG when you are ready.

Saved templates

View all

No saved templates yet.

AI-assisted setup

Describe the job and let AI select a practical format, range and print setup.

Deterministic output

Every barcode is rendered by a barcode engine, not painted by an image model.

Private by default

Standard barcode rendering and batch preparation happen in your browser.

Production guide

How to create and print a Code 39 barcode

Code 39 is a widely supported industrial symbology with a simple restricted character set, but it is less dense than Code 128.

Where Code 39 fits

  • Warehouse bin locations
  • Tools and maintenance equipment
  • Legacy industrial tracking systems
  1. 1

    Enter valid Code 39 data

    This generator accepts uppercase A–Z, digits, spaces and . $ / + % -. Lowercase text must be converted or a different symbology selected.

  2. 2

    Confirm checks and encoding rules

    Code 39 can use an optional Mod 43 check character, but it is not universally expected. Confirm the receiver’s specification instead of appending one by assumption.

  3. 3

    Print at final size and scan-test

    Because Code 39 is relatively wide, test the longest identifier and use adequate label width rather than compressing narrow bars below scanner tolerance. Most industrial 1D scanners support Code 39, although start/stop characters and optional checksum reporting may be configured differently.

Pre-delivery checklist

  • This generator accepts uppercase A–Z, digits, spaces and . $ / + % -. Lowercase text must be converted or a different symbology selected.
  • Code 39 can use an optional Mod 43 check character, but it is not universally expected. Confirm the receiver’s specification instead of appending one by assumption.
  • Because Code 39 is relatively wide, test the longest identifier and use adequate label width rather than compressing narrow bars below scanner tolerance.
  • Most industrial 1D scanners support Code 39, although start/stop characters and optional checksum reporting may be configured differently.

Frequently asked questions

What data can Code 39 encode?

This generator accepts uppercase A–Z, digits, spaces and . $ / + % -. Lowercase text must be converted or a different symbology selected.

How does Code 39 handle check digits?

Code 39 can use an optional Mod 43 check character, but it is not universally expected. Confirm the receiver’s specification instead of appending one by assumption.

When should I not use Code 39?

Choose Code 128 when space is limited or lowercase and broader punctuation are required.

Does standard barcode generation use AI credits?

No. Standard barcode creation, preview, printing and export do not consume AI credits.