The Complete Encyclopedia of QR Codes: Every Type, How They Work, and How to Use Them
Website, Wi-Fi, vCard, WhatsApp, Micro QR, rMQR, static or dynamic: "QR code" covers a whole family. This encyclopedia explains how QR codes work inside, every symbol type and content type, how to design and print them, how to stay safe, and how to make your own free.
QR codes are on restaurant tables, shop counters, business cards, product packaging, posters, invoices and event tickets. They look alike, but "QR code" actually covers a whole family: different symbol types, different sizes and error-correction levels, and many content types, from a simple website link to a Wi-Fi login or a full contact card.
This encyclopedia explains all of it in one place: how a QR code works inside, every QR symbol type, every common content type, static versus dynamic codes, design and printing rules, and how to stay safe. Throughout, you can try the ideas yourself with our free QR Code Generator.
What a QR code is: a short history
QR stands for Quick Response. The QR code was invented in 1994 by Denso Wave, a Japanese company in the Toyota group, to track automotive parts. Ordinary barcodes held too little information and had to be scanned in one direction. A QR code is a two-dimensional barcode: it stores data both horizontally and vertically, holds far more, and can be read quickly from any angle.
Denso Wave chose not to enforce its patent rights, so anyone could use the technology freely. The code was standardised internationally as ISO/IEC 18004. That openness, plus the arrival of smartphone cameras that scan codes without a separate app, is why QR codes are now everywhere. ("QR Code" itself remains a registered trademark of Denso Wave.)
Anatomy of a QR code
Each small square in a QR code is called a module. A scanner finds and reads the code using several fixed patterns:
- Finder patterns: the three large squares in the corners. They tell the scanner where the code is and which way up it is, which is why a QR code can be read at any rotation.
- Separators: the white border around each finder pattern.
- Timing patterns: alternating dark and light lines between the finder patterns that let the scanner work out the size of the grid.
- Alignment patterns: smaller squares (from version 2 upwards) that help correct for curved or angled surfaces.
- Format information: records the error-correction level and mask pattern used.
- Version information: included from version 7 upwards, records the code's size.
- Data and error-correction codewords: everything else, which is your content plus the extra data that lets a damaged code still be read.
- Quiet zone: the empty margin around the code. The specification calls for a margin of 4 modules on every side. Without it, scanners struggle to find the code.
Versions and sizes: from 21×21 to 177×177
A standard QR code comes in 40 versions. Version 1 is a grid of 21 × 21 modules, and every version adds 4 modules to each side, up to version 40 at 177 × 177. You do not choose the version directly: a generator picks the smallest version that fits your content at the error-correction level you choose. More content, or a higher level, means a bigger, denser grid.
Encoding modes: how data is packed in
A QR code stores data in one of several modes, and a generator picks the most compact one that fits:
- Numeric: digits 0–9 only. The most compact mode.
- Alphanumeric: digits, CAPITAL letters A–Z, space, and the symbols
$ % * + - . / :. "HELLO WORLD" fits here. - Byte: any text, including lowercase letters, punctuation and UTF-8 characters such as Urdu or emoji. "Hello world" with lowercase letters needs this mode. Website links almost always use it.
- Kanji: Japanese characters, packed efficiently.
- Extras: ECI (Extended Channel Interpretation) lets a code declare a character set, and Structured Append lets one message be split across up to 16 linked codes.
How much a single code can hold depends on the mode. At the maximum, version 40 with the lowest error-correction level:
| Mode | Maximum characters |
|---|---|
| Numeric | 7,089 digits |
| Alphanumeric | 4,296 characters |
| Byte (8-bit) | 2,953 bytes |
| Kanji | 1,817 characters |
Error correction: why a damaged QR code still scans
QR codes use Reed–Solomon error correction, the same family of mathematics used on CDs and in satellite communication. Extra data is added so the scanner can rebuild missing or damaged parts. There are four levels:
| Level | Approx. damage it can recover | Same URL encoded as | Best for |
|---|---|---|---|
| L (Low) | about 7% | Version 3 (29 × 29) | Screens and clean, protected print; smallest code |
| M (Medium) | about 15% | Version 4 (33 × 33) | Most uses; the generator's default |
| Q (Quartile) | about 25% | Version 5 (37 × 37) | Signs and packaging that may get scuffed |
| H (High) | about 30% | Version 6 (41 × 41) | Outdoor or rough use, or codes with a logo placed over the centre |
The trade-off is clear in the table: more protection means a larger grid for the same content. Designers who place a logo in the middle of a code rely on high error correction to cover the hidden modules. If you do this, use level H, keep the logo small, and test it on several phones.
Masking: the hidden step that keeps codes readable
If data happened to form large blank areas or shapes that look like finder patterns, scanners would get confused. So every QR code applies one of 8 mask patterns, a fixed on-off pattern that flips modules in a regular way. The generator tries all eight, scores each against penalty rules, and keeps the most readable one. The chosen mask is recorded in the format information so the scanner can undo it.
The QR code family: every symbol type
Beyond the standard square code, Denso Wave and the standards bodies have defined several other QR symbol types for special jobs:
| Type | What it is | Typical use |
|---|---|---|
| QR Code Model 1 | The original 1994 design, up to version 14. Largely obsolete. | Legacy industrial systems |
| QR Code Model 2 | The improved standard code, versions 1–40, with alignment patterns for curved or angled surfaces. This is the QR code everyone means today. | Everything: marketing, payments, tickets, packaging |
| Micro QR Code | A tiny version with only one finder pattern and a 2-module quiet zone, from 11 × 11 to 17 × 17 modules (versions M1–M4). Holds a few dozen characters at most. | Small parts, electronic components, labels with little space |
| rMQR (Rectangular Micro QR) | A rectangular code standardised as ISO/IEC 23941 in 2022, designed for long, narrow spaces. | Edges of packaging, tubes, narrow labels |
| iQR Code | A higher-capacity Denso Wave design that can be square or rectangular and holds more data in less space. | Industrial marking and high-density data |
| SQRC | A QR code with a restricted-reading section: part of the data can be read only by scanners holding the right encryption key. | Confidential data, ID and access control |
| Frame QR | A QR code with an empty "canvas" area in the middle for an image or text. | Promotional designs and campaigns |
For everyday marketing and business use, you only need Model 2, which is what our generator produces. The rest of this guide is about Model 2 codes.
Static vs. dynamic QR codes
This is the most important distinction for businesses:
- Static QR code: your content (link, Wi-Fi details, contact card) is encoded directly in the pattern. It works forever, needs no account or server, and cannot be tracked or changed. To change the content, you print a new code.
- Dynamic QR code: the code contains a short link to a service, which then redirects to your real destination. You can change the destination later and see scan statistics, but the code only works for as long as that service keeps running and you keep paying for it, if it is a paid plan.
Our QR Code Generator creates static codes, built entirely in your browser. A static code is the safe choice for anything printed in large numbers or meant to last, because it can never be switched off by a third party. If you want the flexibility of a dynamic code without a subscription, encode a link to a page on your own website, and update that page whenever you need to.
Every QR code content type, explained
A QR code just stores text. What a phone does when it scans that text depends on its format: a web address opens a browser, a WIFI: string offers to join a network, a BEGIN:VCARD block offers to save a contact. Our generator supports nine content types directly. The table shows exactly what it encodes for each, with example details:
| Type in the generator | What happens when scanned | Encoded text (example) | Version at M |
|---|---|---|---|
| Website / URL | Opens the web page | https://example.com/menu | 2 |
| Plain Text | Shows the text | Table 12 — scan to call a waiter | 3 |
| Phone Number | Offers to call the number | tel:+923001234567 | 1 |
| Opens a new email, with subject and message if given | mailto:hello@example.com?subject=Quote+request | 4 | |
| SMS | Opens a text message, with the message pre-filled if given | sms:+923001234567?body=BOOK%202%20seats | 3 |
| Opens a WhatsApp chat with the message pre-filled | https://wa.me/923001234567?text=Hi%2C%20I%20saw%20your%20ad | 4 | |
| Wi-Fi | Offers to join the network, with no typing | WIFI:T:WPA;S:Cafe Guest;P:sunny-mango-42;H:false;; | 4 |
| Contact (vCard) | Offers to save a person's contact card | BEGIN:VCARD … FN:Ayesha Khan … END:VCARD | 8 |
| Business Information | Offers to save a business contact with address | BEGIN:VCARD … ORG:Example Traders … END:VCARD | 9 |
Website / URL QR codes
The most common type: menus, product pages, booking forms, portfolios, PDF brochures and social media profiles are all just links. The generator adds https:// if you leave it out. Keep the link short: a shorter link produces a smaller, simpler code that scans faster. A link to a page you control is also future-proof, because you can change what the page shows without reprinting.
Plain text QR codes
Shows a short message on the phone's screen with no internet needed: a table number, serial number, instructions or a coupon code. The generator encodes text exactly as you type it, including Urdu and other languages, which use byte mode.
Phone number QR codes
Encodes a tel: link that offers to call the number. Always include the country code (for Pakistan, +92) so it works for every caller. The generator keeps the leading + and removes spaces and dashes.
Email QR codes
Encodes a mailto: link that opens a new email with the address filled in, plus an optional subject and message. Useful for support desks, quote requests and feedback on printed materials.
SMS QR codes
Encodes an sms: link that opens a text message to your number with an optional pre-written message, for keyword sign-ups, bookings or votes. The customer still has to tap Send.
WhatsApp QR codes
Encodes a wa.me link that opens a WhatsApp chat with your number and an optional pre-filled message, such as "Hi, I saw your ad". For many businesses this is the most useful code of all. Enter the number in international format with the country code, for example 92 300 1234567, not a local 0300… number. The generator removes the +, spaces and dashes for you. Our WhatsApp Link Generator makes the same link for use online.
Wi-Fi QR codes
Encodes the network name (SSID), security type (WPA/WPA2/WPA3, WEP, or none), password and whether the network is hidden, in the widely supported WIFI: format. Guests scan and join without typing a long password: perfect for cafés, offices, clinics and homes.
Contact (vCard) QR codes
Encodes a vCard 3.0 contact card: name, phone, email, company, job title and website. The scanner offers to save it straight into the phone's contacts. Ideal for business cards, name badges and email signatures. A vCard holds more text, so the code is denser (version 8 in our example). Only include the fields you need, and print it big enough.
Business information QR codes
A vCard for a business: name, phone, email, address and website. Put it on shop windows, invoices, delivery boxes and flyers so customers can save your details in one tap.
Other content types you will come across
Many other uses are simply links, so the Website / URL type covers them:
- Location: link to a Google Maps or other map listing of your shop.
- Reviews: link straight to your review page. Our Google Review QR Generator is built for this.
- Social media: link to your Instagram, Facebook, TikTok, LinkedIn or YouTube page.
- App downloads: link to your app's store page, or to a page on your site that links to both app stores.
- Menus, PDFs and files: upload the file to your website or cloud storage, then encode the link.
- Event details and tickets: link to the event page. Specialised formats exist for calendar events (
BEGIN:VEVENT) and map coordinates (geo:). Because the Plain Text type encodes exactly what you type, you can enter such formats there, but whether a phone acts on them depends on its scanner app. - Payments: payment QR codes follow strict standards set by banks and payment networks. Always get payment QR codes from your bank or payment provider, never from a general-purpose generator.
How to create a QR code with our free generator
- Open the QR Code Generator and choose a QR code type: Website / URL, Plain Text, Phone Number, Email, SMS, WhatsApp, Wi-Fi, Contact (vCard) or Business Information.
- Fill in the fields. The form changes to match the type and checks your input; for example, it asks for a country code on phone numbers.
- Adjust the code: set the size (128 to 640 pixels), the error correction level (Low, Medium, Quartile or High; Medium is recommended), and the foreground and background colours.
- Check the live preview, then scan it with your own phone to make sure it does what you expect.
- Download it as PNG for screens, documents and social media, or as SVG for printing. SVG is a vector format that stays perfectly sharp at any size, from a business card to a banner.
Everything runs in your browser: the content you enter is not sent to a server, and the codes are static, so they never expire and nobody can switch them off.
Design and printing rules that make QR codes scan
- Keep strong contrast: dark code on a light background. Light-on-dark (inverted) codes and pale colours fail on some scanners. If you change colours, keep the foreground much darker than the background.
- Leave a quiet zone. The specification asks for 4 modules of empty space on every side. Our downloads include a 2-module margin, so when you place a code in a design, leave extra blank space around it.
- Size it for the scanning distance. A common rule of thumb is that a code should be at least one-tenth as wide as the distance it will be scanned from: about 2 cm wide for scanning from 20 cm, about 30 cm wide for a poster read from 3 m.
- Keep the content short. Shorter content means bigger modules at the same printed size, which scan faster and from further away.
- Use SVG for print, so the code stays crisp at any size.
- Avoid curved, shiny or crumpled surfaces where possible, and raise the error-correction level for packaging, outdoor signs and anything that may get scratched.
- Add a call to action next to the code, such as "Scan to see our menu" or "Scan to join Wi-Fi", so people know why they should scan it.
- Test before you print, on both an iPhone and an Android phone, in the lighting where it will be used.
QR code safety: what everyone should know
Because people cannot read a QR code by eye, criminals use them too. QR code phishing, sometimes called "quishing", hides a fake website behind a code, for example a sticker placed over a real code on a parking meter, a poster or a restaurant table. To stay safe:
- Check the link your phone shows before you open it. Most phone cameras show the web address first. If it does not match the business you expect, do not open it.
- Be suspicious of stickers placed over another code, and of codes in unexpected emails or letters that ask you to log in or pay.
- Never enter passwords or payment details on a site you reached through a code unless you are sure it is genuine.
- Businesses: check your printed codes regularly, especially in public places, to make sure nobody has covered them with fake ones.
Common QR code mistakes
- Linking to a page that later disappears. A static code cannot be updated, so link to a stable page you control.
- Printing too small or with no quiet zone, so the code will not scan.
- Low contrast or busy backgrounds behind the code.
- Packing too much into one code. Long text or full vCards with every field make dense codes. Shorten the content or link to a web page.
- Not testing the final printed version.
- Relying on a dynamic-code service that later shuts down or starts charging, leaving thousands of printed codes broken.
The bottom line
A QR code is a compact, damage-resistant way to hand someone a link, a Wi-Fi login or a contact card in one scan. Choose the right content type, keep the content short, use Medium error correction unless the code will take a beating, print it big enough with a clear margin, and test it. With static codes made in your own browser, it costs nothing and the code works for as long as the content behind it exists.
Frequently asked questions
Do QR codes expire?
Static QR codes, like the ones our generator makes, never expire: the content is stored in the pattern itself. Dynamic codes from online services stop working if the service shuts down or the subscription ends. A static code linking to a page that is later deleted will also stop being useful.
How much data can a QR code hold?
Up to 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes of text in the largest standard code (version 40, low error correction). In practice, keep content short so the code stays easy to scan.
Which error-correction level should I choose?
Medium (M) suits most uses. Use Low (L) for the smallest code on screens, and Quartile (Q) or High (H) for outdoor signs, packaging or codes with a logo in the middle. Higher levels make the code larger.
Can I change where my QR code points after printing?
Not with a static code. Encode a link to a page on your own website instead, and change that page's content whenever you need to.
Is it safe to make a Wi-Fi QR code?
Yes, but the code contains the password in readable form, so anyone who scans or photographs it can see it. Use a separate guest network for public codes.
Is the QR Code Generator free, and is my data private?
Yes. It is free, needs no sign-up, and creates codes entirely in your browser; the content you enter is not sent to a server.
Don't see the tool you need?
Goeroe Digital builds custom calculators, generators, and business tools on request.
Request a Custom Tool