QR Code for Apple Wallet: Pass Distribution Guide
How to create a QR code that adds a pass to Apple Wallet. Loyalty cards, event tickets, boarding passes, and gift cards via PassKit.
How Apple Wallet QR Distribution Works
Apple Wallet (formerly Passbook) is the iOS app that holds boarding passes, event tickets, loyalty cards, gift cards, payment cards, and event passes. To add a pass to Apple Wallet, the user needs to receive a .pkpass file. The .pkpass file is a signed bundle containing the pass design, data, and verification certificates.
There are several ways to deliver a .pkpass to a user. Email attachment, in app download, web download link, and QR code scan. The QR code method is the most flexible because it works at any physical touchpoint: a printed receipt, a poster, a sign at a venue, or a sticker on a package.
When an iPhone user scans a QR pointing to a .pkpass URL, the system detects the application/vnd.apple.pkpass content type and shows the Add to Apple Wallet sheet. One tap and the pass is in the user's wallet, ready to scan at the gate, register, or event.
Creating the Pass File
Apple's PassKit framework defines the .pkpass format. A pass file is a ZIP archive containing pass.json (the pass data and design), images (logo, icon, strip), and a signature file proving the pass came from a verified Apple developer. Building the .pkpass file from scratch requires an Apple Developer account and some technical setup.
For non engineers, several services offer pass creation as a hosted product. Passcreator, Passworks, Walletly, PassNinja, and PassKit.com all let you design passes in a web dashboard and host the .pkpass files at public URLs. Most of these services also generate the QR code automatically.
For developers, the open source library node passkit, Python's wallet, and PHP's PHP PKPass make programmatic pass generation accessible. Generate a pass per user (with their name, member ID, or ticket number embedded) and host the file at a unique URL per pass.
Generating the QR Code for the Pass
Once you have the .pkpass file URL (for example, https://passes.example.com/loyalty/12345.pkpass), paste it into a standard QR code generator. The generated QR code points to that URL. iPhone users who scan the code see the Add to Apple Wallet prompt automatically.
For one off passes (like a single event ticket), the .pkpass URL is fixed and the QR code is generated once. For dynamic passes (like personalized loyalty cards), the URL is generated per user, and the QR is generated server side and delivered through email or a customer portal.
Make sure the .pkpass URL is served with the correct content type header (application/vnd.apple.pkpass). Without this header, iOS will not recognize the file as a wallet pass and will offer to download it as a generic file instead.
Use Cases for Apple Wallet QR Codes
Loyalty programs are the highest volume use case. Restaurants, coffee shops, gyms, and retail brands distribute loyalty cards as Apple Wallet passes via QR codes printed on receipts and signage. The pass appears on the lock screen when the user is near the location (using geofencing) and prompts them to redeem.
Event tickets distributed via Apple Wallet improve check-in speed dramatically. Venues print a QR on the email confirmation or the account dashboard, the user scans to add the ticket to their wallet, and at the gate they tap their wallet rather than digging through email. Concert venues, sports arenas, conferences, and movie theaters all use this flow.
Boarding passes, hotel keys, and rental car receipts use Apple Wallet for the same reason: passes appear automatically at relevant moments based on time and location. Airlines, hotels, and car rental companies provide a QR code in the booking confirmation that adds the pass when scanned.
Android Equivalent: Google Wallet
Google Wallet (formerly Google Pay) is the Android equivalent of Apple Wallet. The pass format is different (Google uses JWT based passes via the Google Wallet API), but the user experience is similar: scan a QR, tap Add to Google Wallet, and the pass lives on the phone.
For cross platform pass distribution, generate two separate QR codes (one for Apple Wallet, one for Google Wallet) or use a smart link that detects the device and routes to the correct pass URL. Services like PassKit, Passcreator, and Walletly handle both platforms with one dashboard.
For brands without a custom app, Apple Wallet plus Google Wallet covers nearly the entire smartphone market. Combined with QR code distribution, this gives every business the ability to deliver branded passes to customer phones without building or maintaining a mobile app.
Design and Common Mistakes
Pass design happens inside the .pkpass file (background color, logo, fields). The QR code is just the delivery mechanism, so design effort goes into the pass itself rather than the QR code. Use the Apple Pass Style Guide to design passes that match Apple Wallet's native aesthetic.
The most common mistake is hosting .pkpass files without proper content type headers. Verify by visiting the URL on a desktop browser. The browser should download the file with a .pkpass extension. If it tries to display the contents as text, the content type header is wrong.
The second mistake is signing passes with an expired or incorrect Apple Pass Type ID certificate. The signature is what makes Apple Wallet trust the pass. If the certificate is expired or the bundle does not match the certificate, iOS rejects the pass and the QR code appears broken to users.