Skip to content
UseQR

Security & privacy

How to check where a QR code goes before opening it

Use the preview banner both iOS and Android show before opening, and read the domain immediately before the first single slash. To inspect without any risk of opening, decode the code with a scanner that displays the text instead of following it.

On the phone

iOS: the camera shows a yellow banner with the URL. Read it before tapping. Long-pressing the banner shows more options without opening.

Android: Google Lens and the camera app show the URL with an Open button. Read it first.

Neither opens the link automatically. The banner is your inspection point.

Reading a URL correctly

Find the first single slash after the scheme. Everything immediately before it, up to the previous dot-separated label, is the real domain.

URL Real domain
https://bank.example.com/login example.com
https://bank.example.com.evil.co/login evil.co
https://example.com.attacker.net/ attacker.net
https://exarnple.com/login exarnple.com ❌ (rn, not m)

Watch for lookalike characters: rn/m, l/I/1, 0/O, and Unicode homographs from other alphabets.

Decode without opening

To see the raw text with no chance of navigation, use a decoder that displays rather than follows. Our scanner does this: point a camera or upload a photo, and it shows the exact string. It runs entirely in your browser — the image is not uploaded anywhere.

This is the right tool for inspecting a suspicious code, a code from an email, or a sticker you think may have been placed over a real one.

The red flags

  • A link shortener. The destination is deliberately hidden.
  • A domain that does not match the organisation on the printed material.
  • A request for credentials or payment on a page you reached by scanning.
  • A code in an unexpected email, particularly about MFA, payroll or deliveries.
  • A sticker over a printed code — feel for the edge.
  • An IP address instead of a domain name.
  • A data: URI, which can carry an entire page inline.

For payments specifically

Do not rely on the URL — payment codes often carry no URL at all. Instead, check the payee name your app displays against the business name printed beside the code. That is the check that catches sticker substitution, which is the dominant real-world payment QR fraud.

FAQ

Yes. Both iOS and Android display the URL on a banner and wait for you to tap. Nothing opens automatically.

Use a scanner that displays the decoded text rather than following it. Our scanner does this entirely in your browser, so the image is never uploaded.

What part of a URL should I check?

The domain immediately before the first single slash. Attackers put a trusted-looking name in the subdomain, so bank.example.com.evil.co is actually on evil.co.

How do I verify a payment QR code?

Compare the payee name your payment app shows against the business name printed beside the code. Payment codes often have no URL to inspect, so the confirmation screen is the check.

  • Are QR codes safe?Scanning a QR code is safe in itself — it decodes text and nothing else. The risk is entirely in what you do next. A code cannot install software, dial,…
  • Quishing: QR code phishing explainedQuishing is phishing delivered by QR code. It works for two structural reasons: a human cannot read a URL from a pattern before scanning it, and email…