What is MIME type "application/vnd.apple.pkpass"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

application/vnd.apple.pkpass defines a digital pass for Apple devices.
It is used to distribute passes like boarding passes, event tickets, coupons, and loyalty cards in a secure package.
Files with the PKPASS extension carry this type of data.
These pass files are bundles. They include a JSON file with pass details and images for design.
They are digitally signed for security and can update content based on location or time.
For further insights on Apple passes, visit Apple Developer Passbook section.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/vnd.apple.pkpass    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/vnd.apple.pkpass">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'application/vnd.apple.pkpass');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

How do I configure my web server to serve pkpass files correctly?

To ensure devices recognize the file as a wallet pass, you must set the correct Content-Type header. For Apache, add AddType application/vnd.apple.pkpass .pkpass to your configuration or .htaccess file. For Nginx, add application/vnd.apple.pkpass pkpass; to your mime.types file.

Why is my browser downloading a ZIP file instead of opening Apple Wallet?

This usually indicates a server misconfiguration. If the server sends the file with the generic application/zip or application/octet-stream MIME type, the browser treats it as a standard archive. You must correct the server headers to send application/vnd.apple.pkpass so the OS triggers the Wallet app.

Can application/vnd.apple.pkpass files be opened on Android?

Yes, but typically not natively. While this MIME type is proprietary to Apple (indicated by vnd.apple), many third-party Android apps (like WalletPasses) and Google Wallet can interpret the pkpass format. Users often need a compatible viewer installed to open these files.

What is the internal structure of this MIME type?

Under the hood, a file served as application/vnd.apple.pkpass is simply a ZIP archive. It contains a pass.json file (metadata), image assets (logos, icons), and a cryptographic signature. You can rename the file extension to .zip on a desktop to extract and inspect these contents.

Why do I get a "Pass Invalid" error when opening the file?

This error occurs if the digital signature does not match the manifest or if the pass.json syntax is incorrect. Even if the MIME type is correct, the iOS system validates the cryptographic signature against the modified contents; if the file was altered after signing, it will be rejected for security reasons.

How should I attach a pkpass file to an email?

When sending passes via email, ensure the MIME type of the attachment is explicitly set to application/vnd.apple.pkpass. If the email client identifies it as a generic file, the "Add to Apple Wallet" preview integration may not appear for the recipient.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.