Omnikit
DevFilesMoneyAll tools
Ctrl K
Dev toolsFile toolsMoney calculatorsAll tools
HomeDeveloper toolsBarcode GeneratorCode 39 Generator

Code 39 Generator

dev

Make a Code 39 barcode, with the optional modulo 43 check character

Runs in your browser. Nothing you type is sent anywhere. Updated on 25 Oct 2026.

Code 39, also called Code 3 of 9, is the old workhorse of defence, automotive and library systems. It holds capital letters, digits and a handful of symbols, and every scanner ever made can read it without configuration. The trade-off is width: it uses about three times the space of Code 128 for the same data.

Next:
  • CSV to JSON Convert CSV to JSON and JSON to CSV, with a table preview

How to generate a Code 39 barcode

1

Open the page with Code 39 already selected as the Barcode type.

2

Type digits, capital letters or the symbols - . space $ / + %.

3

Turn on "Add the modulo 43 check character" if your scanner or system expects one.

4

Use the wide bars switch to choose 2 or 3 times the narrow bar, then press SVG or PNG.

How Code 39 Generator works

This barcode generator makes the six one-dimensional symbologies people actually need: EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14. Type the data, get the barcode, and download it as SVG for print or PNG for a document. Bar width, height, margin and the human-readable text underneath are all adjustable.

Check digits are handled properly. For EAN-13, EAN-8, UPC-A and ITF-14 you can enter the data without the final digit and it is calculated, or with it and it is verified; if it is wrong you are told the digit it should be, rather than being handed a barcode that scans as the wrong product. Code 39 can add its modulo 43 check character. Code 128 always carries a check character inside the bars, which is why it is never printed.

The encoding is written out in this tool rather than pulled in from a library, so every table can be read and every symbol is tested against published examples: 5901234123457, 96385074, 036000291452, 15400141288763 and the Code 39 check character W for CODE39. Quiet zones follow the GS1 specification, and ITF-14 can print bearer bars for corrugated cardboard.

The rest of the article, and all 6 questions about Barcode Generator, are on the Barcode Generator page.

Frequently asked questions

How do I generate a barcode with a check digit?

Pick the symbology and type the data without the final digit: 12 digits for EAN-13, 11 for UPC-A, 7 for EAN-8, 13 for ITF-14. The check digit is calculated and shown. If you paste the complete number instead, it is verified, and a wrong check digit is named rather than silently accepted.

Which barcode should I use?

For a retail product sold outside North America use EAN-13, inside it use UPC-A. For a shipping carton use ITF-14. For anything internal, such as an asset tag, a bin or an order number, use Code 128: it holds letters as well as digits and is the most compact of the six.

Can this generate a QR code?

No, and it does not pretend to. QR is a two-dimensional code with Reed-Solomon error correction, which is a different job from drawing bars. The QR Code Generator on this site makes QR codes for links, WiFi, contacts and UPI payments.

Why does my barcode not scan?

Three usual causes. The quiet zone, the blank space at each end, was cropped away; increase the margin. The bars are too narrow for the printer, so raise the module width. Or the image was a small PNG stretched to fit, which blurs the edges; use the SVG instead.

Still stuck? Ask about Barcode Generator and anybody who knows can answer. No account needed.

More ways to use Barcode Generator

  • Barcode GeneratorMake EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14 barcodes as SVG or PNG
  • EAN-13 GeneratorMake an EAN-13 retail barcode, with the check digit worked out for you
  • Code 128 GeneratorMake a Code 128 barcode from any text: letters, digits and punctuation
  • UPC-A GeneratorMake a 12-digit UPC-A barcode for North American retail
  • ITF-14 GeneratorMake an ITF-14 carton barcode, with bearer bars for printing on cardboard
  • EAN-8 GeneratorMake a short EAN-8 barcode for packages too small for an EAN-13

Same job, other tools: GUID Generator – Generate GUIDs for .NET, SQL Server and Windows, in brace format · ULID Generator – Sortable 26-character ULIDs, monotonic within a millisecond, with a time decoder · SHA-256 Generator – SHA-256 hash of any text or file, in hex or Base64 · Cron Expression Generator – Generate a cron expression by choosing when the job should run.

On the related tools: Sitemap Index Generator – Split a large site into numbered sitemaps with an index file.

Related tools

All developer tools
UUID GeneratorRandom v4 and time-ordered v7 UUIDs, up to 1,000 at once, plus a validatorHash GeneratorMD5, SHA-1, SHA-256, SHA-384 and SHA-512 of text or files, with checksum compareCron Expression BuilderBuild a cron schedule from menus, read it in plain English, see the next runsSlug GeneratorClean URL slugs from titles, including accented and Hindi text, one or hundreds at onceMeta Tag GeneratorWrite title, description, canonical, Open Graph and Twitter tags with a live previewRobots.txt GeneratorBuild a robots.txt with presets, then check what every line really doesSitemap GeneratorTurn a list of URLs into a valid sitemap.xml, with an index when it gets too bigUTM BuilderBuild campaign links with source, medium and campaign, then export the lot as CSV

In the collection Barcode and QR Code Tools.

Was this tool helpful?
Omnikit

Small jobs, done in your browser. Free, fast and private. Files are never uploaded.

Files

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Money

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
GuidesQuestionsAboutHow we checkLaw library (beta)PrivacyTermsDisclosureContactMore: Exam practice (UGC NET Paper 1)Runs in your browser. Nothing is uploaded. © 2026 Omnikit (theomnikit.com)