Pillar
Education

Safari Cannot Download pkpass File: Causes and Fixes

Safari refusing to download a pkpass file? MIME type, Content-Disposition, browser settings explained, plus a Mac AirDrop and Apple Mail workaround.

5 min readApr 25, 2026
A confused pass card with a kawaii face stuck behind a broken download arrow, with a small Safari compass icon nearby

Safari refuses to download the pkpass file, or it downloads as a text blob, or the Add to Apple Wallet sheet never appears. The pkpass format is supposed to be the path of least resistance for Apple Wallet, so when Safari trips up the culprit is almost always a server-side header or a Safari setting.

Here is what Safari actually expects from a pkpass URL, the most common server misconfigurations, the iPhone settings worth checking, and a Mac to iPhone workaround that can help when the underlying .pkpass file is valid.

What Safari Expects from a pkpass URL

Apple Wallet's developer guide is explicit about how a pkpass file must be served. Safari hands the file to Apple Wallet only when the response matches the spec.

Correct MIME Type

Apple's Wallet developer guide says Mail and Safari expect application/vnd.apple.pkpass. Anything else (text/html, application/octet-stream) typically breaks the handoff.

Content-Disposition

Content-Disposition: attachment; filename="pass.pkpass" is a practical server recommendation. It is not an Apple spec requirement, but inline disposition can show the raw file.

GET Request

The download URL must respond to a GET request. POST-only endpoints fail because Safari follows links as GET.

iOS 6 or Newer

Pass support shipped with iOS 6 (then called Passbook, renamed Wallet in iOS 9). The .pkpasses bundle format (multiple passes in one file) requires iOS 15 or newer.

For a deeper look at the file format, see what is a pkpass file.

Server side, not Safari

The most common reason Safari fails to download a pkpass is that the server is sending the wrong Content-Type. The fix is with whoever runs the server, not on the iPhone.

How to Tell What Safari Is Receiving

A quick check tells whether the pass is broken or the server is misconfigured.

Correctly served
  • Tapping the link shows an Apple Wallet preview sheet
  • Add to Apple Wallet button appears in the top right
  • File downloads silently and Wallet opens
Misconfigured server
  • Page loads with garbled binary text
  • Safari prompts to download but the file ends up as .zip or .html
  • Long press, Download Linked File saves an unusable blob
  • Page redirects through an OAuth flow that strips the file

iPhone Side: Safari Settings That Block Downloads

Even with a correctly served pkpass, a few iPhone settings can block the download.

  • Private Browsing: Safari Private mode sometimes refuses to hand off downloads to Apple Wallet. Open the link in a regular tab.
  • Content Blockers: Aggressive content blockers that strip script tags can break the download flow when issuers use JavaScript-driven download links. Disable the blocker for the issuer's domain.
  • Safari Downloads location: Settings, Apps, Safari, Downloads. Set to On My iPhone or iCloud Drive. A misconfigured location can silently fail.
  • Storage full: A nearly full iPhone refuses new downloads. Free a few hundred megabytes and retry.
  • Active VPN: Some VPNs route Wallet verification traffic through regions where the issuer's server rejects the request.

Chrome, Firefox, and other iOS browsers

On iPhone, browsers other than Safari do not always pass pkpass files to Apple Wallet. The OS hand-off is most reliable in Safari. See why Chrome cannot add passes to Apple Wallet for the underlying reason.

Skip the broken download

NeatPass makes it easy to convert any ticket, pass, or loyalty card to Apple Wallet.

Workaround 1: Open in Apple Mail

If Safari struggles with the URL, sending the link to yourself and opening it in Apple Mail often works. Mail's built-in handler routes pkpass attachments straight to Wallet.

1

Send the link to yourself

Tap Share in Safari, choose Mail, and send the page or download link to your own email address.
2

Open in Apple Mail

Open the email in the Apple Mail app (not Outlook or Gmail). Tap the link or attachment.
3

Tap Add to Apple Wallet

The pass preview should appear with the Add button in the top right.

Workaround 2: Download on Mac, AirDrop to iPhone

A useful workaround when Safari on iPhone refuses the download. Mac browsers can save a pkpass to disk, and AirDropping a valid .pkpass file from Mac to iPhone can hand it directly to Apple Wallet. This cannot fix a corrupt HTML, ZIP, or blob file renamed as .pkpass.

1

Download on Mac

Open the pkpass URL in Safari, Chrome, or Firefox on macOS. Save the file to Downloads. The extension should be .pkpass.
2

AirDrop to iPhone

Right-click the file, Share, AirDrop, and pick the target iPhone. Both devices need AirDrop on and Wi-Fi and Bluetooth enabled.
3

Accept on iPhone

The iPhone shows the Wallet preview sheet. Tap Add and the pass installs.

For more on transferring barcodes and passes between devices, see clipboard barcode from Mac to iPhone and the import methods overview.

Workaround 3: Capture the Barcode and Rebuild

If the source pkpass is broken at the issuer (expired certificate, malformed JSON), no client-side fix works. The pragmatic path is to take the barcode from the original ticket, screenshot, or PDF and create a fresh Wallet pass.

NeatPass reads barcodes from screenshots, PDFs, and the camera, then issues a clean PassKit-signed pass with the same scannable data. The barcode payload is preserved, so the new pass scans identically at any reader. The privacy model is documented in the privacy FAQ and the pass works without internet (offline mode).

Barcode data fidelity

A pass rebuilt from the original barcode preserves the same payload as the issuer's pkpass. Scanners read the data, not the file format, so the pass works at the gate, the till, or the venue exactly the same.

For supported barcode formats during this rebuild, see supported barcodes and adding to Wallet.

FAQ

Build a clean Wallet pass

Download

Your Pass in Wallet

Safari is usually right when it refuses a pkpass download. The file is misconfigured at the source, and the right fix is either to nudge the issuer or to bypass the broken delivery with AirDrop, Apple Mail, or by rebuilding the pass from the barcode.

For passes that simply will not install once they are on the device, see the Wallet issues guide.

Ready to migrate your cards?

NeatPass makes it easy to convert any ticket, pass, or loyalty card to Apple Wallet.