A wallet pass QR code is a link to the pass file, which is how Apple Wallet and Google Wallet passes are actually distributed. The code does not contain the pass — it points at it, and the phone does the rest.
Create unlimited QR codes — right from your phone, anytime, anywhere. Free to download.
Experience this feature seamlessly in our mobile app. Download it today to enjoy the full mobile experience
Download Free AppWallet passes are files, and files are far too large for a QR code — a small .pkpass is tens of kilobytes against a practical ceiling of a few hundred characters. So every wallet-pass QR code in the world is a link, and this one is no exception: the payload is your HTTPS address and nothing else.
That is worth stating plainly, because it means the code is not doing anything clever and you should not expect it to. What makes a wallet pass work is the file and the server serving it. The code is transport.
You can build the same code here for free. Because the payload is a plain URL, the Website URL generator on this site produces an identical pattern. The app's version is a convenience — it keeps the pass link with your other passes — not a different kind of code.
The pass lands in the wallet, where it surfaces on the lock screen at the right time and place. That behaviour comes from the wallet, not from the code.
A wallet pass can be pushed changes after it is installed — a new balance, a changed gate. This is the one thing a static QR code cannot do on its own, and the reason to bother with a pass at all.
A poster or a flyer where the reader has no app installed and you want the thing to end up somewhere they will find it again.
The code is only a link, so everything a link suffers from applies. If the host goes away, the printed code is dead. Point it at an address you control and redirect, rather than at a signed URL from a service you may stop using.
The content type decides whether it works. Apple Wallet expects application/vnd.apple.pkpass; the wrong header produces a download that goes nowhere. This is the most common reason a wallet pass "does not scan" when the scan is fine.
Signed pass URLs expire. Some services hand out links with a token that dies after a period. Printing one of those produces a code with a shelf life, and nothing about the code will warn you.
One code cannot serve both wallets unless the page behind it detects the device and serves the right file.
Length matters as it does for any link: a long signed URL makes a dense code. Measured with this site's encoder, a 40-character address is 29 modules across and a 98-character one is 41 at the same error correction.