# Deep link

> A deep link is a URL that opens a specific screen inside an app rather than a website. In QR codes they appear as custom schemes like upi://pay or as universal links — normal https URLs that the OS routes into an installed app and that fall back to the web when it is absent.

Source: https://useqr.app/glossary/deep-link · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Two kinds, one crucial difference

**Custom schemes** (`myapp://…`, `upi://pay?…`, `tg://resolve?…`) go straight to the app —
and go nowhere when the app is missing. The scan either errors or silently does nothing,
and there is no page to explain what should have happened.

**Universal links (iOS) / App Links (Android)** are ordinary `https://` URLs that the app's
developer has verified for their domain. Installed app → the link opens in-app; not
installed → the same URL loads in the browser. This built-in fallback is why
`https://wa.me/447700900123` beats `whatsapp://send?phone=…` on a printed
[WhatsApp code](/whatsapp-qr-code), and why UseQR's typed generators emit the https form
wherever one exists.

The main exception is payments: [UPI codes](/upi-qr-code) use the bare `upi://pay` scheme by
design, because the ecosystem guarantees a handler and app choice is the point.

## Deep links in practice

- Prefer the `https://` form whenever the platform offers one; the paper fallback matters
  more than the app-open elegance.
- For "download our app", encode a store link or a smart routing page — see
  [app download codes](/app-download-qr-code) and
  [device-dependent codes](/docs/how-to/how-to-make-one-qr-code-do-different-things-by-device).
- Some in-app scanners refuse unknown custom schemes outright; always
  [test the payload](/validate) on both platforms before printing.

## FAQ

### Can a QR code open an app directly?
Yes — encode a deep link. A universal/App Link (https URL) opens the installed app and falls back to the browser otherwise; a custom scheme like myapp:// opens the app but fails with nothing to show when it is not installed.

### Why does my app QR code do nothing on some phones?
Almost always a custom-scheme payload on a phone without the app, or an in-app scanner that blocks unknown schemes. Switch to the https universal-link form so every phone at least reaches a web page.

## Try it

- https://useqr.app/url
- https://useqr.app/whatsapp
- https://useqr.app/upi
- https://useqr.app/validate
