Passy: Flipper Zero Passport Reader
June 8, 2026 ยท View on GitHub
Passy is a tool for reading electronic passports (ePassports/eMRTDs) using the Flipper Zero device. It extracts and decodes data securely stored in modern passports, designed for hobbyists, researchers, and security professionals.
Features
- Reads and decodes ePassport data from a wide range of countries
- Utilizes MRZ (Machine Readable Zone) information for secure access
- Extensible for new country supportโcontribute your flag!
- Advanced menu for debugging and exploring additional data groups (DGs)
Tested with the following countries
๐บ๐ธ ๐จ๐ฑ ๐ซ๐ท ๐ฌ๐ง ๐ต๐ญ ๐ท๐บ ๐น๐ผ ๐บ๐ฆ ๐ฆ๐ฟ ๐จ๐ฆ ๐ฎ๐น ๐ช๐ธ ๐ช๐ช ๐จ๐ญ ๐ฆ๐บ ๐ญ๐ฐ ๐ฆ๐น ๐ณ๐ฑ ๐ฌ๐ช ๐ฐ๐ท ๐จ๐ณ ๐ธ๐ฌ ๐ง๐ฉ ๐ง๐ฌ ๐ฏ๐ต ๐ฌ๐ท ๐จ๐ท ๐น๐ท ๐ฒ๐ฝ ๐ท๐ธ ๐น๐ญ ๐ซ๐ฎ
If it works for yours, submit a PR to add your country flag!
Usage
eMRTDs are secured to prevent unauthorized reading. The key for accessing the data is derived from:
- Passport number
- Date of birth
- Date of expiry
Use the Flipper Zero to scan your passportโs NFC chip and enter the required information.
Limitations
- Advanced menu is hidden unless Debug mode is enabled
- Some data groups (DGs) are not fully parsed under "advanced" menu
- Country coverage is limited (see above)
Development
Prerequisites
- Flipper Zero device (updated firmware recommended)
- ufbt for building
- asn1c ASN.1 compiler (for protocol/data parsing)
Installation
Clone this repository:
git clone https://github.com/bettse/passy.git
cd passy
Build the ASN.1 code (optional, required for development):
asn1c -D ./lib/asn1 -no-gen-example -pdu=all eMRTD.asn1
Roadmap / To Do
- Support PACE protocol
- Add support for more countries' passports
- Improve parsing of additional DGs
Contributing
Contributions are welcome! If Passy works with a new country, feel free to:
- Add your countryโs flag to the list above
- Submit a pull request
License
Acknowledgments
- Inspired by the global ePassport community
- Powered by Flipper Zero and open-source tooling