QR Code Generator
Turn any text or URL into a scannable QR code.
Turn text or numbers into a scannable barcode in seconds. Pick Code 128, Code 39, EAN-13, or UPC-A, tweak the size, and download a crisp PNG — all inside your browser.
Characters are mapped to the format's symbol table — Code 128 builds 11-module glyphs, Code 39 draws nine elements per character, and EAN-13/UPC-A encode six digits at a time.
Code 128 appends a mod-103 checksum, EAN-13 and UPC-A compute a mod-10 digit, and Code 39 can add a mod-43 character — so a smudged bar never reads as the wrong value.
Bars are drawn as crisp rectangles with the quiet zone either side, so the PNG you download stays scannable at label and packaging sizes.
Use Code 128 for general-purpose text and inventory labels — it is compact and supports the full printable ASCII set. Use Code 39 for simple alphanumeric IDs that older scanners read. Use EAN-13 or UPC-A for retail product packaging; those formats are numbers only and include a check digit automatically.
No. The bar pattern is calculated in JavaScript on your device and drawn straight to a canvas. Nothing you type is sent to a server, stored, or logged.
Check digits catch scans that misread one bar. EAN-13 and UPC-A always include one (added automatically), and the Code 39 option can add a mod-43 check character to verify longer IDs.