Free Code 39 Barcode Generator — Create, Preview & Download Instantly
Generate Code 39 barcodes online for free — no signup, no software, no limits. Enter any combination of uppercase letters, digits, and supported special characters to get a crisp, scannable barcode in PNG or SVG format within seconds. Code 39 is the original self-checking alphanumeric barcode, widely used in manufacturing, defense, automotive, and asset tracking. Real-time preview updates as you type. Download, bulk-generate, or copy your barcode instantly.
What Is Code 39?
Code 39 (also known as Code 3 of 9 or USD-3) is a discrete, variable-length linear barcode symbology that encodes uppercase letters (A–Z), digits (0–9), and a defined set of special characters ( - . $ / + % SPACE). Introduced in 1974 by Dr. David Allais and Ray Stevens, it became one of the first alphanumeric barcodes and was standardized under ISO/IEC 16388. Each Code 39 character is represented by five bars and four spaces — exactly three of which are wide — giving the format its name. Code 39 is inherently self-checking due to its fixed bar/space structure, meaning an additional check digit is optional rather than mandatory. It remains the required or preferred format in U.S. Department of Defense (MIL-STD-1189), automotive industry (AIAG), and many asset management and access control systems.
- Alphanumeric Character Set — Letters, Digits, and Special CharactersCode 39 encodes 43 characters: the 26 uppercase letters A–Z, digits 0–9, and seven special characters (hyphen, period, dollar sign, forward slash, plus sign, percent sign, and space). While this is a smaller character set than Code 128, it covers the majority of real-world inventory, part number, and asset tracking requirements without the need for character escaping. For applications that require lowercase letters or a broader ASCII range, Code 39 Extended (Full ASCII) expands coverage to all 128 ASCII characters by using two-character combinations.
- Self-Checking Structure — Optional Check DigitCode 39's three-wide-of-nine bar/space pattern is inherently self-checking: any single print defect that alters a bar or space width will produce an invalid character pattern that scanners reject outright. This built-in error detection means a separate check character is not mandatory under the standard. However, an optional Mod 43 check digit can be appended for applications requiring an extra layer of verification, such as healthcare (HIBC) and some logistics systems. Most industrial deployments operate reliably without the check digit.
- Discrete Symbol Structure — Easy to Print and VerifyUnlike continuous barcodes such as Code 128 or ITF, Code 39 uses a discrete structure where each character is separated by a narrow inter-character gap. This design makes Code 39 particularly tolerant of low-resolution printing, worn print heads, and rough label surfaces. Each character can be independently verified, and a partially damaged barcode may still yield readable characters. This robustness explains its long-standing adoption in industrial and outdoor environments.
- Military, Automotive, and Defense StandardCode 39 is mandated or preferred by a wide range of industry standards. The U.S. Department of Defense specifies Code 39 in MIL-STD-1189B for all military asset labels. The Automotive Industry Action Group (AIAG) adopted Code 39 as the standard for supplier shipping labels and part identification. HIBC (Health Industry Bar Code) uses Code 39 as its primary symbology for medical device and pharmaceutical labeling. These long-established mandates mean Code 39 readers are universally deployed in facilities that operate under these standards.
- Code 39 Extended — Full 128-Character ASCII SupportCode 39 Extended (also called Code 39 Full ASCII) expands the base Code 39 character set to all 128 ASCII characters by encoding non-native characters as two-character combinations using the four shift characters (%, $, /, +). This allows lowercase letters, additional punctuation, and control characters to be encoded while remaining compatible with any Code 39 reader that supports the extended mode. Use Code 39 Extended when your data contains lowercase text or ASCII characters beyond the standard 43-character set.
How to Create a Code 39 Barcode — Step-by-Step
Creating a scannable, print-ready Code 39 barcode with this free online generator takes under a minute. Follow these four steps:
Who Should Use This Code 39 Barcode Generator?
This free online Code 39 generator is built for anyone who needs reliable, production-quality barcodes without investing in specialized software. Here is who benefits most.
Defense Contractors and Government Suppliers
Generate MIL-STD-1189B-compliant Code 39 asset labels for military equipment, spare parts, and government supply chain items. Bulk-produce serialized labels from a parts list export and download print-ready files in seconds without dedicated military labeling software.
Automotive Manufacturers and Parts Suppliers
Create AIAG-standard Code 39 labels for component parts, shipping cartons, and supplier documentation. Import your full parts catalog and bulk-generate all barcodes at once, ready for printing onto standard thermal label stock compatible with OEM receiving systems.
Healthcare and Medical Device Professionals
Produce HIBC Code 39 barcodes for medical devices, surgical instruments, and pharmaceutical packaging. Rely on the generator's accurate encoding and real-time preview to verify label data before committing to a production print run for regulated healthcare applications.
IT Managers and Facilities Administrators
Quickly create Code 39 asset tags for computers, office equipment, and facility assets without specialized asset management software. Generate and print labels on demand as new equipment arrives, and bulk-produce replacement tags for annual audit cycles.
Code 39 Barcode Generator Features
Everything you need to create production-quality Code 39 barcodes — from real-time preview and optional check digit to bulk generation, size controls, and lossless SVG output.
Standard and Extended Mode Support
Switch between Code 39 (standard, 43-character set) and Code 39 Extended (Full ASCII, 128-character set) directly from the format selector. Standard mode is suitable for part numbers, serial numbers, and asset codes using uppercase alphanumeric data. Extended mode handles lowercase text and additional special characters by transparently encoding them as two-symbol sequences recognized by compatible scanner firmware.
Real-Time Preview as You Type
The barcode preview updates live with every keystroke. See the exact barcode that will be generated — including bar pattern, inter-character gaps, human-readable text, and overall proportions — before downloading. Invalid characters for the selected mode are flagged immediately so you can correct input before it reaches a printer or labeling system.
PNG and SVG Download
Download your Code 39 barcode as a high-resolution PNG for documents, label sheets, and email attachments, or as a lossless SVG for print-ready workflows, label templates, and vector graphics editors. SVG barcodes scale to any size without pixelation, making them ideal for large-format printing, screen display, and embedding in web pages or design files.
Adjustable Width, Height, and Quiet Zone
Control every visual parameter of your Code 39 barcode: bar height, module width (X-dimension), font size for the human-readable text, and quiet zone width on each side. Quiet zones — the mandatory blank spaces left and right of the barcode — are required for scanner reliability and are included automatically at the correct minimum width per ISO/IEC 16388 (minimum 10× the X-dimension, or at least 2.54mm).
Human-Readable Text — Show or Hide
Toggle the human-readable interpretation (HRI) text below the barcode on or off. When shown, the encoded value is printed beneath the bars in a clear, standard font. Code 39 HRI conventionally includes the asterisk start/stop delimiters (*CODE 39*), which confirm to operators that the label uses Code 39 encoding. Hide the HRI for space-constrained labels or when embedding barcodes in applications that display the value separately.
Bulk Barcode Generation
Generate hundreds of unique Code 39 barcodes in one operation using the bulk input panel. Enter one value per line and download all barcodes as a ZIP archive of PNG or SVG files. Ideal for producing serialized asset tags, part number labels, military equipment stickers, or inventory codes from an exported list without manual one-by-one generation.
No Signup, No Watermarks, No Limits
This Code 39 generator is completely free with no usage caps, no account required, and no watermarks on downloaded files. All barcode encoding happens in your browser — your input data is never transmitted to any server. Generate one barcode or ten thousand; the tool imposes no limits and retains no data.
Color Customization
Change the foreground bar color and background color of your Code 39 barcode to match brand guidelines or label stock. Custom colors are fully supported for SVG and PNG output. Note that high contrast between bars and background is required for reliable scanning — dark bars on a light background are strongly recommended for any operational barcode.
Code 39 Use Cases & Real-World Examples
Code 39 is a foundational industrial barcode trusted across defense, manufacturing, healthcare, and asset management for over 50 years. Here are the most common real-world applications.

Military and Defense Asset Labels
Code 39 is the mandated barcode for U.S. Department of Defense asset identification under MIL-STD-1189B. Military equipment, spare parts, and supply chain items carry Code 39 labels that encode NSN (National Stock Numbers), contract numbers, and unit identifiers. Defense contractors and government agencies require Code 39 compatibility as a baseline for all logistics and inventory scanning systems.

Automotive Parts and Supplier Labels
The Automotive Industry Action Group (AIAG) specified Code 39 as the standard barcode for automotive supplier shipping labels and component part identification. Tier 1 and Tier 2 suppliers to major OEMs print Code 39 part number labels on components, packaging, and shipping cartons to ensure compatibility with receiving systems across the global automotive supply chain.

Healthcare and Medical Device Labeling (HIBC)
The Health Industry Bar Code (HIBC) standard uses Code 39 as its primary symbology for labeling medical devices, surgical instruments, and pharmaceutical products. HIBC Code 39 labels encode the HIBC primary data structure — including the labeler identification code and product number — on everything from blister packs to surgical trays, enabling traceability from manufacturer to point of care.

IT Asset and Equipment Tracking
IT departments and facilities managers use Code 39 barcodes for fixed asset tracking of computers, monitors, servers, and peripherals. Asset tags with Code 39 barcodes are scanned during audits, maintenance checks, and equipment moves. The simple, printable structure of Code 39 makes it easy to produce durable polyester asset labels on-demand using standard thermal or laser printers.

Industrial Manufacturing and Work-in-Process
Manufacturers use Code 39 to track work-in-process (WIP) items through production stages. Shop floor routers, traveler documents, and component bins carry Code 39 labels encoding job numbers, part numbers, and lot codes. Operators scan the barcode at each workstation to update the production tracking system, enabling real-time visibility into manufacturing status and cycle time.

Library, Membership, and Access Control
Libraries, gyms, clubs, and event venues use Code 39 barcodes on membership cards, library cards, and access passes. The format is compatible with virtually all barcode scanners and point-of-sale readers, making it straightforward to issue cards and scan them at entry points or checkout desks without specialized hardware. Code 39's compact encoding of alphanumeric member IDs fits comfortably on standard card sizes.
Code 39 Barcode — Frequently Asked Questions
Technical answers to the most common questions about Code 39 encoding rules, character support, check digits, and practical usage.
What characters can Code 39 encode?
Standard Code 39 encodes 43 characters: the 26 uppercase letters A–Z, digits 0–9, and seven special characters — hyphen (-), period (.), dollar sign ($), forward slash (/), plus sign (+), percent sign (%), and space. Lowercase letters and most other ASCII characters are not supported in standard mode. Code 39 Extended (Full ASCII) expands coverage to all 128 ASCII characters by encoding non-native characters as two-character combinations using the shift characters %, $, /, and +.
Does Code 39 require a check digit?
No, a check digit is optional in standard Code 39. The format's three-wide-of-nine bar/space structure is self-checking — any single bar or space error produces an unrecognizable character pattern that scanners reject automatically. An optional Mod 43 check digit can be appended before the stop character for applications requiring additional verification, such as HIBC healthcare labeling or high-throughput logistics. This generator produces standard Code 39 without an appended check digit unless otherwise specified.
What is the difference between Code 39 and Code 39 Extended?
Code 39 standard encodes 43 characters: uppercase letters, digits, and seven special characters. Code 39 Extended (also called Code 39 Full ASCII) encodes all 128 ASCII characters by using pairs of standard Code 39 characters to represent lowercase letters and additional symbols. For example, the lowercase letter 'a' is encoded as '+A' in Code 39 Extended. Any Code 39 reader that supports Full ASCII mode will decode extended barcodes correctly, but scanners in standard mode will read the raw two-character sequences instead of the intended character.
When should I use Code 39 instead of Code 128?
Choose Code 39 when your application, industry standard, or existing scanner infrastructure specifically requires it — particularly in defense (MIL-STD-1189B), automotive (AIAG), or healthcare (HIBC) contexts. Choose Code 128 when barcode size efficiency matters, when your data contains lowercase letters or special ASCII characters, or when there is no specific mandate for Code 39. For the same alphanumeric data, Code 128 produces a significantly shorter barcode than Code 39, which is important on small labels. In general-purpose applications without a format mandate, Code 128 is the more compact and flexible choice.
Is there a minimum or maximum length for Code 39?
Code 39 has no minimum data length — a single character is valid. There is no standard-defined maximum length, but practical limits are determined by the physical space on your label and the print resolution. Because Code 39 uses a relatively wide symbol per character (each character requires 10 bar/space units plus an inter-character gap), long strings produce noticeably wider barcodes than the equivalent Code 128. For data strings longer than 10–15 characters, evaluate whether Code 128 or a 2D barcode would be more space-efficient for your label.
Why does my Code 39 barcode include asterisks?
Code 39 uses the asterisk (*) character as both the start and stop symbol. When you encode 'CODE39', the barcode actually represents '*CODE39*'. This is mandatory — all Code 39 barcodes must begin and end with an asterisk. Most scanners strip the asterisks and return only the data content to the host system. The human-readable text printed below the barcode may show the asterisks (e.g., *CODE39*) or omit them depending on scanner and software configuration. You do not need to include asterisks when entering data into this generator.
What is the quiet zone requirement for Code 39?
ISO/IEC 16388 requires a minimum quiet zone of at least 10 times the X-dimension (module width) on each side of a Code 39 barcode, or at least 2.54mm — whichever is greater. The quiet zone is the blank white space flanking the barcode that signals the scanner where the symbol begins and ends. This generator automatically includes correct quiet zones at all width settings. Do not crop, overprint, or allow label edges to encroach on the quiet zones.
Is my data safe when using this generator?
Yes. All Code 39 encoding is performed entirely in your browser using client-side JavaScript. Your input data — including part numbers, asset IDs, serial numbers, or any other identifiers — is never transmitted to any server and never stored anywhere. Close the browser tab and all data is gone. This tool is safe to use with sensitive internal identifiers or proprietary product data.
Generate Your Code 39 Barcode Now — Free, Instant, No Account Required
This free Code 39 barcode generator is ready to use immediately. Type your part number, asset ID, or serial number, adjust the size and appearance, and download a print-ready PNG or SVG barcode in seconds. No signup, no watermarks, no usage limits. All encoding happens locally in your browser — your data stays private. Generate one barcode or thousands; the tool is completely free regardless of volume.
