What Is a QR Code?
A QR (Quick Response) code is a two-dimensional barcode — a grid of black and white squares that encodes text, a web address, or other short pieces of data. You've seen them on restaurant menus, product packaging, event tickets, and business cards. Point a phone camera at one, and it decodes almost instantly.
How it's different from a regular barcode
A traditional barcode — the kind on a can of soup — is one-dimensional. It only stores data along a single line, and a scanner has to read it left to right at roughly the correct angle. That limits how much information it can hold: usually just a product number that a database looks up.
A QR code stores data in two dimensions, both across and down the grid. That gives it dramatically more capacity — up to a few thousand characters, depending on the error correction level — and it can be read by a camera from almost any angle or orientation, not just straight-on.
What's actually inside the pattern
The black and white squares (called modules) aren't decorative — each one encodes a bit of binary data. Three of the corners have larger square markers that tell a scanner "this is a QR code, and here's how it's oriented," which is why you can scan one upside down or at an angle and it still works.
Beyond the raw data, a portion of every QR code is dedicated to error correction: redundant information that lets the code still be read even if part of it is dirty, torn, or covered by a logo. That's a deliberate design choice, not a flaw — more on how it works in our error correction guide.
What people actually use QR codes for
- Linking a printed flyer, poster, or menu straight to a webpage
- Sharing Wi-Fi credentials without typing a password
- Adding contact details to a business card that save straight to a phone
- Pointing a product label to instructions, a warranty page, or reviews
- Contactless payments and event check-in
How to make one
You don't need a dedicated app or account. A browser-based tool like QRToolCraft converts any text or link into a QR code in a few seconds, lets you add a logo and adjust error correction, and generates the whole thing locally in your browser — nothing you type gets uploaded anywhere.