QR & Barcode Tools

Free online QR and barcode tools — generate QR codes, decode scanned codes, create barcodes (CODE128/CODE39/EAN-13/UPC-A/EAN-8/ITF-14), scan barcodes, WiFi login QR, vCard contact QR, batch generation, styled QR with logo. All in your browser.
How each mode works
QR Gen: Any text or URL is encoded into a QR code (Quick Response matrix barcode) using qrcode library v1.5.1. The QR matrix is rendered onto a live HTML canvas. Error correction determines recovery tolerance — L (7%) gives smallest code, M (15%) is standard, Q (25%) is robust, H (30%) allows logo overlay. Larger size = easier scanning from a distance. Click Download PNG to save the QR image.
QR Decode: Upload a QR code image (or paste an image URL) and the QR decoder scans every pixel to locate the three finder patterns (the square corner markers) and extract encoded data. The image is first drawn onto a hidden canvas so pixel-level ImageData can be analyzed. For URL images, cross-origin access must be allowed by the remote server. Supports drag-and-drop.
Barcode Gen: Input data is encoded into a 1D linear barcode. Each format has specific rules: CODE128 handles full ASCII (best general-purpose), CODE39 is alphanumeric only, EAN-13/UPC-A require exactly 13/12 digits with automatic check digit, EAN-8 requires 7-8 digits, ITF-14 is for carton packaging. Invalid input shows an error on the canvas. Adjust bar width (1-4px) and overall height; toggle human-readable text below bars.
Barcode Scan: Uses a three-stage fallback chain for maximum compatibility. Stage 1: native BarcodeDetector API (Chrome/Edge 83+, Safari 17+), which handles 1D barcodes and 2D codes in one shot. Stage 2: a fast QR decoder via pixel-scanning finder patterns. Stage 3: a comprehensive 1D/2D barcode engine including CODE-128/EAN/UPC/Code-39/Data Matrix/PDF417/Aztec. Upload an image or drag-and-drop; results show the detected format and the decoded content with one-click Copy.
WiFi QR: WiFi credentials are formatted into the standard WIFI:S:<ssid>;T:<enc>;P:<password>;H:<hidden>;; string (per the ZXing WiFi spec), then encoded as a standard QR code. When scanned by a phone camera or QR app, the device automatically connects to the network without manually typing the password. Encryption options: WPA/WPA2 (modern), WEP (legacy), or None (open network). Set Hidden SSID to True for networks that don't broadcast.
vCard QR: Contact details are formatted into a vCard 3.0 (BEGIN:VCARD...END:VCARD) text block, then encoded as a QR code. When scanned, the phone prompts to save a new contact with pre-filled name, phone, email, company, title, and website fields. All fields are optional — fill in at least a name to generate. The standard vCard format is compatible with iOS, Android, and all major contact apps.
Batch QR: Paste multiple text entries (one per line) and each is independently encoded into its own QR code. All codes render in a grid layout below. Each QR card shows the content label (truncated for readability) and has a Save button to download that individual QR as PNG. The size slider controls all codes uniformly. Empty lines are skipped.
Style QR: Generates a QR code with custom foreground/background colors (pick any color pair with sufficient contrast) and an optional center logo. Uses H-level error correction (30% tolerance) so the QR remains scannable even with the logo covering ~22% of the code area. The logo is placed centered with a small white border to separate it from QR modules. Colors are applied via RGBA hex strings; the QR is first rendered to an image, then the logo overlay is drawn on top.