A QR code (Quick Response code) is a two-dimensional barcode that encodes data as a pattern of black and white squares. QR codes can store URLs, plain text, contact information, Wi-Fi credentials, email addresses, phone numbers, and more. They are used on product packaging, marketing materials, event tickets, and boarding passes, and have become a standard part of mobile payment systems.
How QR Codes Encode Data
A QR code uses four encoding modes: numeric (digits only, most efficient for numbers), alphanumeric (digits, uppercase letters, and a small set of special characters), binary (any byte sequence including arbitrary text), and kanji (Japanese characters).
The pattern includes position detection squares in three corners (for orientation detection), alignment patterns (to correct for distortion), timing patterns (to determine cell size), and the encoded data along with error correction bits.
Error Correction Levels
QR codes have four error correction levels: L (low, recovers 7% of missing data), M (medium, 15%), Q (quartile, 25%), and H (high, 30%). Higher error correction levels allow the QR code to be scanned even if part of it is obscured or damaged. This is why you can put a logo over the center of a QR code and it still works, as long as the obscured area does not exceed the error correction capacity.
What QR Codes Typically Contain
Most QR codes you encounter in the wild contain a URL. Scanning the code opens the URL in the phone's default browser. Some contain plain text (like a Wi-Fi network name and password, which the phone uses to connect automatically). Contact information is often encoded as a vCard format string.
When You Need a QR Reader Tool
Most smartphones can scan QR codes natively using the camera app. A browser-based QR reader is useful when you have a QR code image file that you need to decode without a phone, when you are verifying the content of a QR code you generated, or when troubleshooting why a QR code is not scanning correctly.
Using the DevHexLab QR Reader
Open the tool at /tools/developer/qr-reader. Upload a PNG, JPG, or WebP image of the QR code. The tool decodes it and displays the content. Copy the URL or text from the result.
Frequently Asked Questions
Why won't my QR code scan?
Common reasons include too much glare or reflection on the surface, the QR code being printed too small, low contrast between the dark and light squares, or the image being blurry or distorted. For QR codes you generate, test them with the reader tool before printing.
Can I decode a QR code that encodes a WiFi password?
Yes. The decoded text will be in the format: WIFI:T:WPA;S:NetworkName;P:Password;;. The network name and password are visible in the decoded output.
Upload the QR code image and have the content decoded in seconds.