Barcode Generator & Reader
Barcode Generator & Reader makes Code 128, EAN-13, UPC-A, Code 39, Data Matrix and other barcodes as PNG or SVG, and reads barcodes from the camera or a photo with zxing-cpp in your browser.
Letters, numbers and symbols (plain ASCII). Common on shipping labels.
At a glance
- Accepts
- Text or digits to encode, or a camera feed or image to scan
- Outputs
- A barcode as PNG or SVG, or the decoded text and format of each barcode found
- Where it runs
- Entirely in your browser, on your device
- What leaves your device
- Nothing - the file never leaves your device
- Limits
- Retail EAN/UPC numbers must be registered with GS1 to sell in shops; blurred or damaged barcodes may not read
- Account
- Not required - there is no sign-up
- Price
- Free, with no watermark and no usage cap
- Made by
- Visrut
- Last updated
- 11 November 2026
Barcode Generator & Reader makes Code 128, EAN-13, UPC-A, EAN-8, Code 39, Code 93, ITF, Codabar, Data Matrix, QR, PDF417 and Aztec codes, and checks your input as you type, including EAN and UPC check digits. Download a PNG or a sharp SVG for print. The Read tab scans barcodes with your phone's camera or from a photo. It all runs in your browser.
How to use it
- Pick a barcode type.
- Type the content. For EAN and UPC, leave off the last digit and it is added for you.
- Set the bar width and whether to show the numbers.
- Download a PNG, or an SVG for printing.
- To read one, open "Read a barcode" and scan with the camera or choose a photo.
Frequently asked questions
Is anything uploaded?
No. Barcodes are made and read by zxing-cpp, an open-source barcode library compiled to WebAssembly, running in your browser. The text you type, your photos and the camera feed stay on your device.
Can I use these barcodes on products I sell in shops?
The barcode itself will scan, but a retail EAN-13 or UPC-A number has to be registered to your company through GS1. A made-up number may clash with someone else's product. For your own stock, labels or a library, Code 128 is free to use with any content.
Why does it say my check digit is wrong?
The last digit of an EAN-13, EAN-8 or UPC-A is worked out from the other digits, so scanners can catch a misread. If it does not match, one digit is probably mistyped. Enter the number without the last digit and the correct check digit is added for you.
Which barcode type should I pick?
Code 128 for general labels with letters and numbers. EAN-13 or UPC-A for registered retail products. Code 39 if an older system asks for it. Data Matrix or QR Code when space is tight or you need to store more text.
Which types can it read?
All common 1D barcodes (EAN, UPC, Code 128, Code 39, Code 93, ITF, Codabar, DataBar) and 2D codes (QR, Data Matrix, PDF417, Aztec, MaxiCode). It reads from the live camera or from a photo or screenshot.