ATR parser for smart cards
Decode ISO/IEC 7816-3 Answer-To-Reset bytes — convention, format byte, interface bytes (TA/TB/TC/TD), historical bytes, and check byte (TCK). Pasteable from PC/SC, OpenSC, GP shell, or your reader logs.
Input
Decoded
What is an ATR?
The Answer-To-Reset is a sequence of bytes a smart card emits in response to a cold or warm reset. It tells the reader what protocol to use, the clock-rate / bit-rate adjustment, the supply voltage, and (optionally) some historical bytes that hint at the card’s identity. ATRs follow ISO/IEC 7816-3. The structure is: TS · T0 · (TA1 TB1 TC1 TD1) · (TA2 TB2 TC2 TD2) … · HistoricalBytes · TCK?
Spec
ISO/IEC 7816-3 — the canonical reference for ATR structure and protocol negotiation.
Related tools
Decoding a smart-card ATR
When a contact smart card powers up it returns an Answer To Reset (ATR), defined by ISO/IEC 7816-3. The ATR advertises which transmission protocols the card supports (T=0, T=1), timing and voltage parameters, and a block of historical bytes that often identifies the card or its operating system. This tool decodes those bytes so you can read the card's capabilities at a glance.
Worked example: an ATR beginning 3B uses the direct convention; the following interface bytes (TA1, TB1, TC1, TD1…) describe clock-rate conversion, programming parameters and the protocol. The historical bytes at the end are card-specific — this parser surfaces them, but their meaning depends on the card's issuer.
Frequently asked questions
What are the historical bytes?
Up to 15 bytes at the end of the ATR that the card uses to advertise its OS, capabilities or a registered application identifier. Their format is card-specific.
What is the difference between T=0 and T=1?
T=0 is a byte-oriented protocol; T=1 is block-oriented. The TD1 interface byte indicates which protocol(s) the card offers; many cards support both.
Is my ATR sent anywhere?
No — the ATR is decoded locally in your browser.
What does TS tell you?
The initial character defines the convention used for the rest of the answer-to-reset: 0x3B for direct convention and 0x3F for inverse. A parser that ignores it will misread every byte that follows.
What is TCK and when is it present?
TCK is a check character equal to the XOR of the bytes after TS. It is required when any protocol other than T=0 is offered, and absent on a pure T=0 card.