When a phone is not an option
Apple Wallet is excellent right up until the moment it is not. A phone at four percent battery in an airport queue, a venue whose scanner only likes paper, a border officer who wants something to hold, a rental counter with a printer and no idea what a wallet pass is. The file sits on your device and there is no obvious print button anywhere.
A .pkpass file is a zip archive. Inside it is a JSON document describing the pass, a handful of PNG images at various resolutions, and a manifest and signature pair. Everything needed to draw the pass on paper is in that JSON, which is why this conversion is a local file operation rather than a service.
The pass never leaves your browser. Given what boarding passes and event tickets contain, that is not a marketing line: a booking reference plus a surname is enough to manage somebody else’s flight on many airline websites.
Printing a set of boarding passes
- Drop your .pkpass files onto the box or use Choose files. Only the .pkpass extension is accepted, and several at once is fine.
- Click Convert PKPASS to PDF. The progress bar moves through the passes first and then builds the document.
- Download the result. One input keeps its own name, so flight.pkpass gives you flight.pdf. Two or more produce wallet-passes.pdf, with every pass in the one file.
- Print it. Print at full size rather than fit to page, because scaling down a barcode is the fastest way to make it unreadable.
- Process another clears the queue.
Before you leave for the airport, scan the printed barcode with your own phone camera. It takes five seconds and it is the only test that matters.
What gets pulled out of the archive
The header band carries the issuing organisation and the pass type, which is one of boarding pass, event ticket, coupon, store card or a generic pass. The pass declares exactly one of those five, and a file declaring none of them is rejected as not a real pass rather than rendered half empty.
Colours come from the pass itself. Background, foreground and label colours are read from the pass definition in the CSS notation it uses, so a printed pass keeps the issuer’s own palette instead of arriving as generic black on white.
The logo is picked at the best resolution present in the archive, preferring the triple-density variant, then double, then the base image, and falling back to the icon if no logo exists at all.
Fields are drawn in the order the pass format defines them: header, primary, secondary, auxiliary, then the barcode section, then the back of the pass. Values that are numbers or booleans are rendered as readable text, and a field with no label falls back to its internal key rather than printing a blank.
Barcodes that a scanner will accept
This is where most converters give up and print the number. Four symbologies appear on Wallet passes, and all four are drawn as real graphics here.
QR codes go through a dedicated QR encoder. PDF417, which is what most airline boarding passes use, along with Aztec and Code 128, go through a full symbology renderer covering those formats properly. Code 128 gets an explicit height so it comes out as a normal wide linear barcode rather than an oddly tall block, while PDF417 and Aztec compute their own natural proportions.
Under every barcode the encoded string is also printed as plain text. That is deliberate redundancy for the case where the reader will not cooperate and someone has to key it in.
Passes can also carry an older single-barcode field from earlier iOS versions rather than the modern list. Both shapes are read, so an old pass still gets its barcode drawn.
What this deliberately does not do
It does not verify anything. The signature inside the archive is ignored entirely, and no attempt is made to confirm the pass came from the organisation named on it. This is a reader and a renderer, not a wallet.
It also does not update. A wallet pass on a phone can change when a gate is reassigned; a PDF cannot. Print it late, and check the app before you travel.
For the wider file toolkit: Unzip Files opens the archive itself if you want to see what is inside one, QR Code Reader decodes the barcode from a screenshot to check what it actually encodes, and Merge PDF combines the output with your itinerary or hotel confirmation into a single document to print. The rest is on the PDF tools hub.