Wallet
How the Wallet export works, from connecting to fixing problems.
Connect
Press “Connect” beside Wallet on Exporter’s home, then “Open Passes Folder”. The panel opens in the folder where macOS keeps your passes, ~/Library/Passes: press “Select This Folder”. Then choose where the files go and press “Use This Folder”.
Take the Passes folder itself, not the Cards folder inside it. Exporter reads the passes from Cards, and passes23.sqlite beside it for one thing only: the day a pass was signed, which is the only date many older passes have.
Where the files go
One Markdown file per pass, in one folder, named by its date and by what the pass is: 2026-09-17 united airlines SFO-EWR.md, 2026-09-11 the sf database meetup.md. A pass with no date at all is named after itself (apple store.md). A folder right in your home folder, like ~/Documents, gets a wallet-export folder inside it; a deeper one, like ~/Documents/wallet, is used as it is.
What is exported
Every pass ticked on the card: boarding passes, train and bus tickets, event tickets, store cards, coupons and generic passes. The pills only filter the list: passes (all of them), flights (boarding passes, trains and buses included), events and cards.
Two passes that would name the same file each get a short suffix from their id, so neither overwrites the other. Unticking a pass removes its file on the next sync; ticking it again brings it back.
Format
Always Markdown: the pass’s front matter, a heading and one line saying where and when, then the fields exactly as the card draws them, the back of the card under a Back heading, and the barcode’s own number.
The file
| key | holds |
|---|---|
title, id |
what the pass is called, and Wallet’s own id for it |
kind |
flight, transit, event, card or other |
date, date_source |
when the pass matters, and whether that is the issuer’s date, its expiry, or the day it was signed |
organization, pass_type |
the issuer, and its pass type identifier |
expires, voided |
when it runs out, and whether Wallet has marked it spent |
coordinates |
the venue’s point, when the pass carries one |
A Details section carries Apple’s typed fields that the card does not already print: terminals, the arrival gate, time zones, the fare class. A Where section names the venue. A barcode whose message is binary says so instead of writing control characters into the file.
---
title: "United Airlines SFO-EWR"
kind: flight
date: 2026-09-17T18:20:00
date_source: relevant
organization: "United Airlines"
---
# United Airlines SFO-EWR
San Francisco (SFO) → Newark (EWR) · 17 Sep 2026
- FLIGHT: UA 274
- GATE: F19
- SEAT: 34D
## Back
- CONFIRMATION: GGCLMQ
Dates, and passes without one
A pass is filed under its own day, in the time zone the issuer wrote: a flight leaving Denver at 23:25 is that day in Denver, not the next one where you are reading it. Older event tickets often carry no date at all; those are filed under the day the pass was signed, and date_source: signed says so in the file.
Passes in other languages
A pass may keep its words in a pass.strings file inside its bundle and put only the keys in the pass itself. Exporter resolves them in your Mac’s language, so a ticket reads as the event’s name, not as EVENT_NAME.
Free and unlocked
Your 20 most recent passes are free, and they stay free. Unlocking Wallet exports the rest (pricing).
Sync and full resync
After the first “Sync Now”, Exporter rewrites a pass file when that pass changes, at most once a minute. Gates, seats and boarding times change on the day you travel, and each change rewrites only that pass’s file.
“Full Resync” asks first, then removes the pass files Exporter wrote and writes every ticked pass again. Anything else in the folder stays.
Problems and fixes
- “no passes in that folder (pick the Passes folder in your Library)”: press “Connect” again and select the folder the panel opens in
- a pass is missing: it is unticked on the card, or the free 20 are used. Unlock Wallet and press “Sync Now”
- a pass has no date in its name: it carries none, and Wallet’s database could not be read. Connect
~/Library/Passesitself rather thanCards - the card numbers are not there: they are not on the Mac. Wallet keeps payment cards in the Secure Element, and Exporter never sees them