MagRead is a Qt based GUI application originally written for Maemo 5.
The application is designed to read all types of magnetic stripes that follow the ABA or IATA encoding schemes. In addition, it attempts to format the data from cards it recognises.
Magnetic stripe data is read over the audio input jack on the mobile phone. A hardware adapter is required, which primarily consists of something similar to an old cassette tape head. The start of the application displays a minimalistic welcome screen:

At present, credit cards and identification cards are the only cards that will display with their data formatted.
Credit Cards
Visa, MasterCard, American Express and Discover are currently shown:

If an expired credit card is swiped, the “Expiration Date” field will appear in red:

AAMVA Driver Licence/Identification Cards
Cards in compliance with AAMVA standards will also be recognised. These are identification cards and driver licence cards issued by any government based in North America (approx. 22 US states/territories, several Canadian provinces and at least one Mexican state).
When swiped with a track 2 reader, the issuing authority (state/province/agency/territory) is displayed, along with the person’s unique ID number, date of expiration, date of birth, and their present age:

Expired cards will put their expiration date in red, and include the word in caps “EXPIRED” underneath. Additionally, if the person’s age is under 18, it will appear in red. Those over 18 but under 21 will have their age appear in yellow.

Miscellaneous Cards
Cards which are not identified simply have the data on them displayed:

Partial Reads
On the home screen, there is a “Show Partial Data” checkbox. When checked, MagRead will display data read off of cards that my contain errors or be incomplete. By default, only swipes that have passed several parity checks are displayed.


MagRead is still in active development, but will be available for download shortly. It will be released under the GPL.
At present, it is written in C and C++ and designed to run on the Nokia N900 with Maemo 5 only. Work is currently in progress to port the application to standard Qt 4.6, and it may be usable on Symbian devices with Qt support.