Images are read on your device
QR code checker
Upload a photo or screenshot of a QR code, use your camera, or paste its link. We read the code, follow the link step by step and show whether it still works, where it really goes and any warning signs.
Drop a QR code image here
or paste a screenshot (Ctrl+V)_
What we check_
Read on your device, followed step by step
Your image is decoded in your own browser and is never uploaded. If the code holds a web link, our server opens it one step at a time, the way a phone would, and records every redirect: up to 10 steps, http and https only. We recognise the short links of the main dynamic QR code services and link shorteners, look for the pages they show when a code has been switched off, read the final domain's registration date from its registry, and flag common warning signs.
We do not run a virus scanner or a blocklist, so a link with no warning signs can still be a scam. Codes that are not links, such as Wi-Fi details, contact cards, text, email, SMS, map locations and payment codes, are shown on your screen and never sent anywhere.
QR code not working? Common causes
If a code will not scan at all, it is usually how it was printed. If it scans but nothing loads, or a "deactivated" page appears, it is usually the link behind it. The checker above tells the two apart: it says when it could only read your image after fixing the colours or adding a margin, and it shows what happens to the link.
Too small or too far away
Phone cameras need each square of the pattern to cover enough pixels. Print the code at least 2 cm wide, and about a tenth of the distance it is read from.
Low contrast or the wrong colours
Scanners look for dark squares on a light background. Pale colours, a gradient or a busy photo behind the code make it unreadable for many phones. Dark on white is the safe choice.
Inverted (light on dark)
Most new phone cameras can read a white code on a black background, but many older phones and scanner apps cannot. If some people say your code does not work, this is a likely reason.
No white margin (quiet zone)
The QR standard needs a clear border about four squares wide on every side. Codes cropped right to the edge, or placed against text or patterns, often fail.
Damaged, curved or shiny
Scratches, folds, dirt, a curved bottle or the glare from a laminated sign can hide parts of the pattern. Error correction repairs some damage (up to about 30% at the highest level) but not all.
Too much data
A code that stores a long address or a whole contact card has smaller, denser squares. Use a shorter link, or print it larger.
The dynamic code was switched off
If the code points at a QR service and the account was cancelled, paused or ran out of scans, the service stops forwarding it. The check above shows this as deactivated.
The page it opens is gone
The code can scan perfectly and still lead to a "not found" page because the website changed. The check above shows the status of the final page.
Static or dynamic: why some codes expire
A static code stores the address itself in the pattern. It cannot be changed and never expires; it only breaks if the page it points to is removed.
A dynamic code stores a short link to the QR service, which forwards each scan to the real address. The owner can change the destination and count scans, but every printed copy depends on that service. Many services pause or deactivate codes when a free trial ends, a plan is cancelled or a scan limit is reached, and the printed code then opens their "inactive" page instead.
Printing something that has to last, like packaging, a sign or a book? A static code to a page on your own domain will not stop working because of a subscription.
How to spot a QR code scam
- Look at where it really goes. A parking meter, bank or delivery company sends you to its own domain, not to a new or oddly spelled one.
- Be wary of codes on stickers stuck over a sign or a meter, and of codes in emails or letters asking you to log in or pay.
- Never enter a password, card number or one-time code on a page you reached from a code you did not expect.
- Do not install apps from a code's link. Use the App Store or Google Play.
- When in doubt, type the company's address yourself or use its official app.
Link scans fine, but the site will not load?
If the code leads to a real website that is not loading, check whether that website is down for everyone. If the page has turned into a parking or "for sale" page, the owner may have let the domain lapse: check the domain's expiry date. For businesses whose codes open an email link or a page that depends on their domain, the DNS and email checker shows whether the domain's records are set up.
QR code questions
How do I check if a QR code is safe before opening it?
Upload a photo or screenshot of the code above, or paste its link. We show the address it really opens after every redirect, how old that domain is, and warning signs such as a brand new domain, a bare IP address, a lookalike name, an unencrypted page or an app download. None of this proves a link is safe, so for anything involving a login or a payment, type the company's address yourself instead of using the code.
Why did my QR code stop working?
The most common reason for a printed code that used to work is that it is a dynamic code and the account behind it was cancelled, paused or ran out of its plan or scan limit, so the vendor stopped forwarding it. The next most common is that the page it points to was moved or deleted. Physical problems also stop a code scanning: it is printed too small, has too little contrast, is scratched or wrinkled, or has no white margin around it.
Do QR codes expire?
A static QR code never expires: the address or text is stored in the pattern itself, and it works for as long as the page it points to exists. A dynamic QR code stores a short link to the vendor's server, which forwards visitors to the real page. It keeps working only while the vendor keeps forwarding it, which usually means while the account or plan is active.
How can I tell if a QR code is dynamic?
Check it above. If the first address belongs to a QR code company or a link shortener (qrco.de, me-qr.com, qr1.be, bit.ly and others), the code is dynamic and depends on that company. If it goes straight to the business's own website, it is static.
My dynamic QR code says it has been deactivated. How do I fix it?
Log in to the QR code service that made it and reactivate the code or renew the plan. The printed code then works again, because the pattern itself has not changed. If you can no longer use that service, the only fix is to make a new code (a static one, if the address will not change) and replace the printed copies.
Is my image uploaded when I check a QR code?
No. The image is decoded by your own browser and never leaves your device. If the code contains a web link, only that link is sent to our server so we can follow its redirects. Wi-Fi passwords, contact cards, payment details and other content are shown on your screen only.
Can a QR code contain a virus?
The code itself is just text, so it cannot run anything. The danger is where it leads: a fake login page that steals passwords (often called quishing), a page that asks for card details, or a link that downloads an app from outside the official app stores. That is why we show the final address and flag downloads.
Why does the result say Unverified?
Some websites refuse automated visitors like our checker, answering with HTTP 403 or 429 or a bot challenge. Then we can show every step up to that site, but not whether the final page loads for people. That is not a sign of a problem by itself.
Does checking a code count as a scan?
Yes. We open the link once from our server, so the code's owner may see one extra scan in their statistics. Do not check one-time codes, such as a login or a ticket that can be used only once, because opening the link could use it up.
How small can a QR code be printed?
A common rule of thumb is at least 2 cm (about 0.8 inches) wide for a short link, and about one tenth of the scanning distance: a code read from 2 meters away should be about 20 cm wide. Longer content makes the pattern denser, so it needs to be printed larger.