Code 39 Barcode Generator

Create Code 39 barcodes, also called Code 3 of 9, for asset tracking, ID badges and legacy inventory systems.

Checking…

Code 39 supports upper-case letters, digits, space and the symbols - . $ / + %. It is wider than Code 128 for the same data but is supported by virtually every scanner and is still required by many defence (LOGMARS) and automotive standards. Asterisks are shown as start and stop characters in the human-readable text.

Verified before you print

BarcodeKit draws every barcode from one precise geometry model, then reads it back with ZXing, an open-source scanner engine running in your browser. PNG, SVG, true-size PDF and EPS downloads all come from that same verified geometry, so what we check is exactly what you print.

Private by design

Nothing you type or upload leaves your device. There is no account, no server-side processing and no tracking of your product numbers.

Need a QR code for a website or menu instead? Use our sister app, QR Code Forever, for free static QR codes that never expire.

Frequently asked questions

How do I know the barcode will scan?

Every barcode is read back by an open-source scanner engine (ZXing) right after it is drawn, from the same geometry we export. If the decoded value does not match what you typed you will see a warning before you download.

Why are my lower-case letters converted?

Standard Code 39 only encodes upper-case letters. We convert automatically so the barcode scans everywhere. Use Code 128 if you need lower case.

Is BarcodeKit free?

Yes. Generate, verify and download barcodes as PNG, SVG, PDF or EPS with no account, no watermark and no sign-up.

Are my barcode numbers uploaded anywhere?

No. Barcodes are drawn and checked entirely in your browser. Your product numbers, SKUs and CSV files never leave your device.

Do you sell UPC or EAN numbers?

No, and we recommend you never buy them from resellers. Official UPC, EAN and GTIN numbers are licensed by GS1, the standards body. Amazon and most retailers check numbers against the GS1 database and can reject recycled ones.

More barcode tools