Quishing: How QR Code Phishing Works, and How to Not Fall For It
Security researchers clocked a 146% jump in QR code phishing in early 2026. It works for one simple reason — and once you see it, spotting it gets easier.
Key takeaways
- QR code phishing ("quishing") has surged dramatically — security researchers reported a 146% jump in the first quarter of 2026 alone, on top of a multi-year climb since 2023.
- It works for a structural reason, not a clever one: a QR code hides its destination until a phone scans it, routing straight around the link-scanning tools built into email and messaging apps.
- A scanned code usually lands on a convincing fake login page designed to steal a password — the danger is almost always what you type next, not the scan itself.
- Physical QR codes are just as exploitable as digital ones. A sticker over a parking meter or menu code is cheap to produce and easy to miss.
- The one habit that actually defends against this: read the destination URL your phone shows before opening it, the same way you'd hover over a link before clicking.
Why a square of black-and-white pixels became a security problem
For most of the last decade, QR codes were just a convenience — a fast way to load a restaurant menu, join a WiFi network, or check into an event. Attackers eventually noticed the exact quality that makes them convenient is also what makes them dangerous: nobody can read where a QR code leads by looking at the pattern. That blind spot has turned into one of the fastest-growing attack categories in security right now. Researchers tracking phishing trends reported a 146% jump in "quishing" incidents in the first quarter of 2026 alone, continuing a climb that's included reports of QR-related phishing rising several hundred percent since 2023.
How quishing actually routes around your existing defenses
The mechanism is simpler than it sounds, and understanding it is most of what you need to defend against it. Email security tools and spam filters are built to scan visible text and links for known-bad patterns. A QR code is just an image — the actual malicious URL encoded inside it is invisible to that scan. It only becomes readable once a phone's camera decodes it, and by that point you're usually holding a personal device, outside whatever security tooling protected the inbox the email arrived in. Quishing isn't exploiting a flaw in QR codes as a technology. It's exploiting a gap between where security tools look and where the actual link is hiding.
What actually happens after you scan
The realistic threat model here isn't a phone getting infected with malware the instant a code is scanned — that does happen, but it's the less common case. Far more often, scanning opens a convincing, professionally designed login page: a fake Microsoft 365 sign-in, a fake bank portal, a fake parcel-delivery tracking page asking you to "verify" a detail. The actual danger is what happens next — typing a real password or one-time code into that page — not the act of scanning itself. Some campaigns specifically target multi-factor authentication this way, since getting someone to type a live MFA code into a fake page is often easier than defeating MFA directly.
It's not just email — the sticker-over-a-sticker trick
Quishing isn't confined to inboxes. A cheap, printed sticker with a malicious QR code pasted directly over a real one — on a parking meter, a restaurant table tent, an event poster — costs almost nothing to produce and looks identical to the original at a glance. Most people scan a code like that on reflex, the same low-friction way they'd tap a familiar app icon, without a second look at what they're about to load.
- "Your package couldn't be delivered — scan to reschedule"
- "Scan to verify your account" or "confirm your identity"
- "Scan to pay this parking fee" on a machine or meter
- "Scan for the menu" or "Scan for the WiFi password" at a table or counter
The habit that actually defends against this
Most phones show a preview of the destination URL after scanning a code and before actually opening it. Read that line the moment it appears — the same instinct as hovering over a link before clicking — rather than tapping through on reflex. Look specifically for the real domain, not a close lookalike: an extra word, a swapped letter, or an unfamiliar top-level domain are the usual tells. If a code claims to be from a company or service you already know, it's often safer to navigate to that site directly from memory or a bookmark than to trust wherever the scanned link actually points.
“A QR code is a link with its address hidden until the last second — read that address the moment it appears, not after the page has already loaded.”
A technical detail worth knowing: static versus dynamic codes
Not every QR code encodes its final destination directly. Many marketing-oriented QR generators create "dynamic" codes that actually encode a short redirect link controlled by that service — which means the destination the code points to can be changed at any time after the code is already printed and distributed, without the physical code itself ever changing. A "static" code, by contrast, encodes the real destination URL directly, and can never be silently repointed later. If you're generating a QR code yourself — for a business card, a flyer, an event — a straightforward static generator that encodes the actual link gives you a code that can't quietly change where it leads after the fact. When you're the one scanning a code, it's also worth remembering that even a legitimate-looking dynamic code today is only as trustworthy as whoever controls the redirect behind it tomorrow.
A quick way to check before you commit
If a scanned code lands somewhere unexpected, or you're not fully confident a destination is legitimate before entering any information, running the URL through the Phishing / Lookalike URL Checker takes a few seconds and catches the lookalike-domain tricks that are easy to miss under a glance. And if you're the one putting QR codes out into the world — for an event, a menu, a business card — generating a plain, static code with the QR Code Generator means the link you're distributing is exactly the link you meant to distribute, with nothing that can be redirected later without your knowledge.
Mentioned in this post
QR Code Generator
Generate scannable QR codes for URLs, WhatsApp, Google Reviews, contact cards, calendar events, location, email, phone, SMS, Wi-Fi logins, or plain text — with a center logo, solid or gradient colors, and PNG, SVG, or PDF download, encoded from scratch entirely in your browser.
Phishing & Lookalike URL Checker
Paste a URL to check it for the structural red flags real phishing links use: punycode/IDN homograph domains, brand names stuffed into a different domain, @-symbol host obfuscation, raw-IP hosts, shortened links, and commonly-abused TLDs.
Frequently asked questions
Can scanning a malicious QR code infect my phone directly?
Usually not. Most quishing campaigns are credential phishing — a fake login page — rather than malware delivery. The real danger is typically what you type into the page it opens, not the act of scanning.
How can I tell a QR code has been tampered with physically?
Look for a sticker that seems layered on top of a sign, menu, or machine rather than printed as part of it — a slightly different material, alignment, or edge is often the giveaway.
Does my phone show me the link before I open it?
Most modern phones show a preview of the destination URL after scanning and before actually opening it — read that line before tapping through, not after.
What's the difference between a static and dynamic QR code?
A static code encodes the actual destination directly and can never be changed after printing. A dynamic code — common with marketing QR services — encodes a redirect link the service controls, meaning the real destination can be silently changed later, even after the code has already been printed and distributed.