A QR code stores information in a two-dimensional grid of black and white squares. Unlike a traditional barcode, which encodes data in one direction (the width of parallel lines), a QR code uses both axes. That lets it hold much more data in the same physical space — typically hundreds of characters instead of a dozen or so.
The acronym stands for Quick Response. The format was designed in 1994 for tracking automotive parts and has since become the default way to bridge print and digital: menus, payment links, Wi-Fi credentials, product packaging, and event tickets all use it.
Not every square in a QR code is data. The code reserves some squares for structure:
The generator computes all of this from your input string and produces a valid symbol in a single pass. There is no network request involved.
QR codes can survive damage. If a corner is torn or a logo is placed in the center, the scanner can still read the code — provided the damage doesn't exceed what the error-correction level allows.
There are four levels, labeled L, M, Q, and H. Level L can recover from about 7% data loss; level H can recover from up to 30%. The trade-off is size. More error correction requires more redundancy squares, so a higher level means a denser, larger code for the same content.
For a clean digital screen — a PDF, a website, a presentation — level M or L is fine. If you're printing the code on packaging that might get scuffed, or embedding a logo in the center, use level Q or H.
QR codes support several data encoding modes. The most compact is numeric (digits only), followed by alphanumeric (uppercase letters, digits, and a handful of symbols), then byte mode (any UTF-8 content), and finally Kanji for Japanese characters.
This generator automatically chooses the most efficient mode for your input. A URL that uses only uppercase and a small set of punctuation characters might qualify for alphanumeric encoding, producing a smaller symbol than byte mode would. You don't have to think about this — the encoder picks the best option.
The tool can output your code as an SVG or a PNG. SVG is a vector format: you can scale it to any size without pixelation. It's the right choice for print, presentations, and any context where you don't know the final display size. PNG is a raster format at a fixed pixel size. Use it when the target system expects an image file and doesn't accept SVG.
Both formats are generated entirely in your browser. No image is uploaded to a server, and no account is required. The file is produced by the encoder library running as JavaScript on your device.
The most common use cases are: linking a printed item to a web page, sharing Wi-Fi credentials without typing, and encoding contact details as a vCard. Developers also use it to generate codes for testing scanner integrations. Event organizers use it for ticket validation. Restaurants use it for digital menus.
The tool handles all of these. Paste the URL, the Wi-Fi string, the vCard block — or any plain text up to a few kilobytes — and it produces the code immediately.