What Is a 1D Barcode Generator and Reader?
This browser tool creates standards-based linear barcodes with bwip-js and reads uploaded barcode images with ZXing. It validates format-specific rules before rendering, including EAN-13 and UPC-A check digits, Code 39 character restrictions, and ITF digit pairing. Uploaded images and generated graphics stay in your browser.
How to Generate or Read a Barcode
- 1Choose Code 128, EAN-13, UPC-A, Code 39, or ITF and enter the value to encode.
- 2Correct any validation message, then adjust scale, bar height, and human-readable text.
- 3Download the rendered barcode as a PNG for labels, documents, or test fixtures.
- 4Switch to Read, upload a clear barcode image, and copy the value decoded by ZXing.
Common Barcode Workflows
Retail identifier checks
Validate EAN-13 or UPC-A check digits and create scannable product-code test images.
Warehouse and inventory labels
Generate Code 128, Code 39, or ITF labels for internal inventory and integration testing.
Decode screenshots and photos
Extract the encoded value from a barcode image without uploading it to a remote scanning service.
Frequently asked questions
Can I enter EAN-13 or UPC-A without the check digit?
Yes. Enter 12 digits for EAN-13 or 11 digits for UPC-A and the tool calculates the final check digit. If you include it, the tool verifies it.
Why will my Code 39 value not render?
Standard Code 39 uses uppercase letters, digits, spaces, and the symbols hyphen, period, dollar, slash, plus, and percent. Lowercase input is normalized to uppercase.
Are uploaded barcode images sent anywhere?
No. ZXing decodes the selected image locally in your browser.