SW1/SW2 Smart Card Response Utility

Smart Card APDU Response Decoder

Use this Smart Card APDU Response Decoder to split hexadecimal response APDU bytes into optional response data and the final SW1 / SW2 status word. Decode common success, warning, security, file, parameter and length-related smart-card status values.

✓ SW1 / SW2 ✓ Status Word ✓ Response Data ✓ 61xx / 6Cxx ✓ 63Cx Retries
R-APDU
Decode Response APDU
● Ready
Enter the complete response APDU. The final two bytes are decoded as SW1 and SW2; any preceding bytes are treated as response data.
Important: SW1/SW2 meanings shown here cover widely used ISO 7816-style status patterns. Card applications and proprietary command sets can define additional status words. An unknown status does not automatically mean that the response APDU structure itself is malformed.
APDU Response Result Decoded
Status Word Interpretation
Status Word
SW1
SW2
Status Category
Response Data
Additional Length
Retry Counter
Total Response
Field Offset Length Hex Interpretation
Response APDU Breakdown -
Normalized Response APDU
-

What Is a Response APDU?

A response APDU is the message returned by a smart card after a command APDU has been processed. It contains zero or more response-data bytes followed by two mandatory status bytes called SW1 and SW2.

Response APDU: [Response Data] SW1 SW2

Even when no response data exists, the status word is still present.

What Are SW1 and SW2?

SW1 and SW2 are the final two bytes of the response APDU. Together they form a 16-bit status word used to report the outcome of the command.

90 00 SW1 = 90 SW2 = 00 Status Word = 9000

The status can indicate success, warnings, incorrect parameters, security conditions, missing files, unsupported instructions or a corrected expected length.

APDU Status 9000

The most familiar smart-card status word is:

90 00 → Command completed successfully

A response APDU may consist only of these two bytes or may include response data before them.

Response Data Before SW1/SW2

Consider:

01 02 03 90 00

The final two bytes are always interpreted as the status word:

Response Data: 01 02 03 SW1: 90 SW2: 00 Status: 9000 — Success

Common Smart Card Status Words

Status Typical Meaning
9000 Success
61xx More response data available
6200 Warning, state unchanged
6282 End of file or record reached before reading requested amount
6300 Warning, state changed / authentication-related warning
63Cx Verification failed with retry counter available
6700 Wrong length
6982 Security status not satisfied
6983 Authentication method blocked
6985 Conditions of use not satisfied
6A80 Incorrect parameters in command data
6A82 File or application not found
6A83 Record not found
6A86 Incorrect P1/P2 parameters
6B00 Wrong parameters P1/P2
6Cxx Wrong Le; SW2 suggests correct length
6D00 Instruction code not supported or invalid
6E00 Class not supported
6F00 No precise diagnosis / internal error

What Does 61xx Mean?

An SW1 value of 61 commonly indicates that additional response bytes are available.

61 10 SW2 = 10 hex = 16 decimal Interpretation: 16 response bytes available

A follow-up GET RESPONSE command may be used by the applicable card protocol.

61 00 and the Maximum Length

For parameterized one-byte lengths, an SW2 value of 00 can represent 256 bytes rather than zero.

61 00 Available length: 256 bytes

The decoder therefore does not incorrectly report zero additional bytes for this status pattern.

What Does 6Cxx Mean?

Status 6Cxx typically indicates that the command’s Le was incorrect and SW2 supplies the length that should be used.

6C 20 SW2: 20 hex Correct Le: 32 decimal

6C00 Meaning

Just as with a short Le field, an SW2 value of zero in a 6C status generally represents the maximum short expected length:

6C 00 → Correct Le = 256

What Does 63Cx Mean?

The pattern 63Cx is particularly useful because the low nibble of SW2 can report a retry counter in applicable verification operations.

63 C3 C3 & 0F = 3 Retries remaining: 3

This is often encountered with PIN or verification-related commands.

APDU Status 6982

69 82 → Security status not satisfied

The card understood the command structure but the required security state or authorization condition was not satisfied.

APDU Status 6983

69 83 → Authentication method blocked

This can occur after a verification mechanism has reached a blocked state. The exact recovery procedure depends on the card application.

APDU Status 6985

69 85 → Conditions of use not satisfied

The command may be valid but cannot be executed under the current card state, selection context or application conditions.

APDU Status 6A82

6A 82 → File or application not found

This status is frequently encountered after unsuccessful file or application selection.

APDU Status 6A86

6A 86 → Incorrect P1 or P2 parameters

The command instruction may be recognized while one or both command parameter bytes are inconsistent with the requested operation.

APDU Status 6D00

6D 00 → Instruction not supported or invalid

This is commonly associated with an INS value the current card or application does not support.

APDU Status 6E00

6E 00 → CLA not supported

The card may recognize the general APDU framing but reject the supplied command class.

APDU Status 6F00

6F 00 → No precise diagnosis / internal error

This is a general failure status and normally provides less diagnostic detail than more specific status words.

Command APDU vs Response APDU

Command APDU

Contains CLA, INS, P1, P2 and optional Lc, command data and Le.

Response APDU

Contains optional response data followed by mandatory SW1 and SW2 status bytes.

Separating these two tools prevents response status bytes from being mistaken for command APDU length or data fields.

Response APDU Minimum Length

A normal response APDU requires at least two bytes because SW1 and SW2 are mandatory.

90 → incomplete response 90 00 → complete response status

The decoder rejects an input containing fewer than two bytes.

Unknown Status Words

A structurally valid response can contain a status word not included in the generic decoder table.

The tool reports such a value as unknown or application-specific rather than declaring the entire response invalid. Card operating systems and proprietary applications can define additional status values.

Smart Card APDU Response Decoder FAQs

What are SW1 and SW2?
SW1 and SW2 are the two status bytes at the end of a smart-card response APDU.
What does APDU status 9000 mean?
9000 normally indicates successful command completion.
What does 61xx mean?
61xx commonly indicates that additional response bytes are available, with SW2 representing the available length.
What does 6100 mean?
For this parameterized status, SW2 value 00 is interpreted as 256 available bytes.
What does 6Cxx mean?
6Cxx indicates an incorrect Le and SW2 commonly supplies the correct expected length.
What does 6C00 mean?
6C00 commonly means that the corrected short Le should be 256.
What does 63C3 mean?
It commonly indicates a failed verification operation with three retries remaining.
What does 6982 mean?
6982 commonly means security status not satisfied.
What does 6983 mean?
6983 commonly indicates that the authentication method is blocked.
What does 6985 mean?
6985 commonly means that the conditions of use are not satisfied.
What does 6A82 mean?
6A82 commonly means that the requested file or application could not be found.
What does 6A83 mean?
6A83 commonly means record not found.
What does 6A86 mean?
6A86 commonly indicates incorrect P1 or P2 command parameters.
What does 6D00 mean?
6D00 commonly means the instruction is invalid or unsupported.
What does 6E00 mean?
6E00 commonly means the command class is not supported.
What does 6F00 mean?
6F00 is a general failure or no-precise-diagnosis status.
Can a response APDU contain data before SW1 SW2?
Yes. Any bytes before the final two status bytes are response data.
Can proprietary cards return other status words?
Yes. Card applications and operating systems can define statuses outside the generic table.

Decode Smart Card Response Status Words

Paste a complete response APDU to separate response data from SW1/SW2 and interpret common success, warning, security, file, retry-counter and length-correction status patterns.

Scroll to Top