Guide to Magnetic Encoding on Cards
According to ANSI & ISO/IEC Standards
The purpose of this guide
is to give an overview of the magnetic encoding characteristics as
defined by ANSI and ISO/IEC standards.
I. Magnetic Stripe
Card Physical Configuration as Specified by ISO Standards: 7811-1 through
6, 7812, 7813, and 4951.
I.1 Magnetic
Stripe Card Dimensional Characteristics
Click to enlarge...
I.2 Location
of Encoded Data Tracks
Click to enlarge...
I.3 Standard
Definition of Magnetic Tracks
The magnetic track assignments
were made for specific industry uses, such as financial, thrift etc.
and comprise the vast majority of cards in use, but not all. Other applications
such as access control, identification, and driver’s licenses have developed
their own custom formats for each track. This capability to reformat
the content of each track has allowed magnetic stripe card technology
to expand into many industries. The three magnetic tracks, defined for
financial industry applications, have been assigned names and numbers
as listed below:
Track 1: Developed by the International Air Transportation
Association (IATA), track 1 contains alphanumeric information for automation
of airline ticketing or other transactions where a reservation database
is accessed.
Track 2: Developed by the American Bankers Association
(ABA), track 2 contains numeric information for the automation of financial
transac- tions. This track of information is also used by most systems
that require an identification number and a minimum of other control
information.
Track 3: Developed by the Thrift Industry, track 3
contains information, some of which is intended to be updated (re-recorded)
with each transaction (e.g., cash dispensers that operate “off-line”).
I.4 Basics of
Magnetics and Reading Coded Character Set Tables
A magnetic stripe is encoded
with bit patterns, which correspond to alphanumeric (Track 1) or numeric
(Tracks 2 & 3) ASCII characters. The number of bits on a given track
is limited to a certain number of bits per inch, or BPI. There are also
a series of all zero bits encoded at the beginning and end of a magnetic
stripe; these “clocking bits” establish timing for the reader, or the
time the reader will detect flux reversals as it moves down the magnetic
stripe.
For each character in the bottom right section of the Track 1 Coded
Character Set table, there is a bit pattern which consists of six bits.
To determine this bit pattern for each character, read to the left of
the character in its corresponding row, from bit 1 to bit 4. To determine
bits 5 and 6, read above the character in its corresponding row. For
example, the bit pattern for “D” (Column 2, Row 4) would be “0 0 1 0
0 1” plus odd parity bit = 1.
For the Tracks 2 & 3 Coded Character Set table (page 7), read to
the left of each numerical character. For example, the bit pattern for
“6” (row 6) would be 0 1 1 0 with odd parity (P).
II. Data Format for
Financial Transaction Cards
II.1 Definitions
Bit - A binary digit with the value of
either 0 or 1. Each track consists of a string of bits; bits strings
make up an alpha or numeric character (see Coded Character Set tables).
End Sentinel - A defined character (bit pattern) in
an encoding format. Cannot be used for data. The End Sentinel is encoded
on the magnetic stripe immediately after the last data character and
indicates the end of data.
Field Separator - A designated character which separates
data fields. Cannot be used for data.
Format Code - Under ANSI/ISO Track 1 protocol there are two defined
formats: Code A is name first; Code B is account number first. For Track
3, the first two digits identify the data format used.
Start Sentinel - A defined character (bit pattern)
in an encoding format. Cannot be all zeros. The Start Sentinel is encoded
on the magnetic stripe immediately before the first data character and
indicates the beginning of data.
Parity - A self-checking code using binary digits in
which the total number of ones (or zeros) in each track is always even
or always odd. A check for even or odd parity detects errors in the
system.
Longitudinal Redundancy Check Character- A bit pattern
which is encoded immediately after the End Sentinel. Checks for bit
errors in the message, which includes the Start Sentinel, End Sentinel,
data, and field separators.
II.2 Track 1
(IATA)
Recording density (bits per
inch) = 210 bpi
Character configuration (including parity bit) = 7 bits per character
Information content (max.) = 79 alphanumeric char.
Track 1 data reads:
<SS><FC><PAN><FS><CC><NAME><FS><Additional
Data><CC><LRC>
where SS = Start Sentinel = %
FS = Field Separator = {
ES = End Sentinel = ?
FC = Format Code
LRC = Longitudinal Redundancy Check Character
CC = Country Code (3 characters minimum)
PAN = Primary Account Number (19 digits maximum)
NAME = 26 Alphanumeric Characters Minimum
Additional Data = *Expiration Data = 4
Interchange Designator = 1
Service Code = 2
Discretionary Data
*required by Visa and MasterCard
a. Track 1 is limited to 79 characters including Start Sentinel, End Sentinel
and LRC.
b. MasterCard PAN varies up to 16 characters maximum.
c. Visa is 13 or 16 characters, including mod 10 check digit.
d. Italicized text identifies control characters.
Track 1 Coded Character Set:
Click to enlarge...
a. These characters are available
for hardware control purposes only and cannot contain information characters.
b. These characters are reserved
for additional national characters when required. They are not to be used
internationally.
c. These characters are reserved
for optional additional graphic symbols.
d. These characters shall
have the following meaning for this application:
Position 0/5 % represents Start Sentinel
Position 1/15 ? represents End Sentinel
Position 3/14 ^ represents Field Separator
II.3 Track 2
(ABA)
Recording density (bits per
inch) = 75 bpi
Character configuration (including parity bit) = 5 bits per character
Information content (including SS, ES) = 40 numeric max. chars.
Track 2 data reads:
<SS><PAN><FS><Additional Data><ES><LRC>
where SS = Start Sentinel = Hex B ;
FS = Field Separator = Hex D =
ES = End Sentinel = Hex F ?
LRC = Longitudinal Redundancy Check Character
PAN = Primary Account Number (19 digits maximum)
Additional Data = Country Code = 3
*Expiration Data = 4
Interchange Designator = 3
Service Code = 3
Discretionary Data
*required by Visa and MasterCard
a. Track 2 is limited to 40 characters including Start Sentinel, End Sentinel
and LRC.
b. MasterCard PAN varies up to 16 characters maximum.
c. Visa is 13 or 16 characters, including mod 10 check digit.
d. Italicized text identifies control characters.
Click to enlarge...
a. These characters are available
for hardware control purposes only and cannot contain information characters
(data content).
b1 Start Sentinel (;) start character
b2 Separator (=)
d. End Sentinel (?) stop
character
II.4 Track 3
(Thrift)
Recording density (bits per
inch) = 210 bpi
Character configuration (including parity bit) = 5 bits per character
Information content (max.) = 107 numeric
Track 3 data reads:
<SS><FC><PAN><FS><Use and Security Data><Additional
Data><FS><LRC>
where SS = Start Sentinel = Hex B ;
FS = Field Separator = Hex D =
ES = End Sentinel = Hex F ?
FC = Format Code
LRC = Longitudinal Redundancy Check Character
PAN = Primary Account Number (19 digits maximum)
Use & Security Data = *Country Code (optional) = 3 or FS
Currency Code = 3
Currency Exponent = 1
Amount Authorized per Cycle
Amount Remaining this Cycle
Cycle Begin (Validity Date)
Cycle Length = 2
Reentry Count = 1
*Pin Control Parameters (optional)
Interchange Control = 1
PAN Service Restriction = 2
SAN-1 Service Restriction
SAN-2 Service Restriction = 2
*Expiration Data (optional)
Card Sequence No. = 1
*Card Security No. (optional)
*required by Visa and MasterCard
Additional Data = *First Subsidiary Account No. (optional) = FS
*Second Subsidiary Account No. (optional) = FS
Relay Marker = 1
*Cryptographic Check = 6 or FS
Digits (optional)
Discretionary Data
*A Field Separator (FS) must be encoded if an optional field is not used
a. Track 3 is limited to 107 characters including Start Sentinel, End
Sentinel and LRC
b. Italicized text identifies control characters.