Skip to content

Supported card types

Here, you can find an overview of the card types that our readers support. Below, we explain how we identify the card type detected by a reader.

Overview

This overview applies to the latest stable versions of our standard firmware:

For each card type, you can see the hexadecimal representation, the types of numbers you can read, and via which commands you can interact with the card.

We test all features thoroughly via automated robotic end tests. If you're experiencing a bug, please first check the known issues. If you need further commands for a specific card type, please contact us with your request.

125 kHz cards

Product name Hex code The hex code returned for this card type by the VHL.Select command.
Learn how this hex code is determined
Autoread In Autoread mode, the reader can extract the following number(s) depending on the card type:
  • UID: chip serial number. This is the number sent when card is requested; may also be a random ID
  • PCN: project-specific programmed card number
VHL commands VHL commands supported by the card type in addition to the VHL.Select command. Low-level commands Remarks
ATMEL ATA5575M1 Unique Format 0x81 UID VHL.GetSnr EM.Read4100
AWID Proximity/LF 0x89 UID VHL.GetSnr HID.AwidRead
Cardax 0x8F UID VHL.GetSnr - Reader config needed to read UID;
UID is returned as raw data Card obfuscates the UID encoding. Thus, the reader returns the unique raw binary data stream instead.
CASI-RUSCO 0x81 UID VHL.GetSnr EM.Read4100
Cotag 0xA3 UID VHL.GetSnr ASK.CotagRead Not supported by ID-engine XE 10091-3xx-yy
Deister 0x8D UID VHL.GetSnr Hitag cmd group
EM 4005
EM 4100
EM 4102
EM 4105
EM 4200
0x81 UID VHL.GetSnr EM cmd group
EM 4205
EM 4305
0x80 UID
PCN
VHL.GetSnr VHL.Read VHL.Write EM cmd group PCN requires a reader config
EM 4450
EM 4550
0x83 UID
PCN
VHL.GetSnr VHL.Read EM cmd group PCN requires a reader config
G-Prox 0xA1 UID VHL.GetSnr ASK.GproxRead
HID Prox 0x8A
0x85
UID VHL.GetSnr HID.ProxRead Prox license required; card type not supported by ACCESS200 readers using Wiegand
  • To read this card type, the reader needs a Prox license.
  • Deploying the Prox license on ACCESS200 readers disables the Wiegand interface. Please use one of the other supported host interfaces.
HITAG 1 0x8C UID
PCN
VHL.GetSnr VHL.Read VHL.Write Hitag cmd group PCN requires a reader config;
only unencrypted PCNs supported;
VHL.Read and VHL.Write only via plain access
HITAG 2 0x8D
0x8E
UID VHL.GetSnr Hitag cmd group Only unencrypted PCNs supported
HITAG S 0x8C UID
PCN
VHL.GetSnr VHL.Read VHL.Write Hitag cmd group PCN requires a reader config;
only unencrypted PCNs supported;
VHL.Read and VHL.Write only via plain access
IDTECK 0xA4 UID VHL.GetSnr HID.IdteckRead Not supported by ID-engine XE 10091-3xx-yy
Indala ASP 0x88 UID VHL.GetSnr HID.IndalaRead Prox license required; card type not supported by ACCESS200 readers using Wiegand; UID is returned as raw data
  • To read this card type, the reader needs a Prox license.
  • Deploying the Prox license on ACCESS200 readers disables the Wiegand interface. Please use one of the other supported host interfaces.
  • Card obfuscates the UID encoding. Thus, the reader returns the unique raw binary data stream instead.
Indala ASP+ 0xA2 UID VHL.GetSnr HID.IndalaSecureRead Prox license required; card type not supported by ACCESS200 readers using Wiegand; UID is returned as hash value
  • To read this card type, the reader needs a Prox license.
  • Deploying the Prox license on ACCESS200 readers disables the Wiegand interface. Please use one of the other supported host interfaces.
  • Card obfuscates the UID encoding, i.e. only the unique raw binary data stream is available. Due to length limitations, the reader returns the hash value of the data stream.
ioProx 0x8B UID VHL.GetSnr HID.IoproxRead
Keri 0x86 UID VHL.GetSnr HID.IndalaRead Prox license required; card type not supported by ACCESS200 readers using Wiegand
  • To read this card type, the reader needs a Prox license.
  • Deploying the Prox license on ACCESS200 readers disables the Wiegand interface. Please use one of the other supported host interfaces.
Miro 0x81 UID VHL.GetSnr EM.Read4100
Pyramid 0x84 UID VHL.GetSnr HID.PyramidRead
QuadraKey 0x87 UID VHL.GetSnr QKey cmd group
Rosslare 0x81 UID VHL.GetSnr EM.Read4100
Secura Key 0xA0 UID VHL.GetSnr ASK.SecuraKeyRead
Sokymat UNIQUE 0x81 UID VHL.GetSnr EM.Read4100

13.56 MHz cards

Product name Hex code The hex code returned for this card type by the VHL.Select command.
Learn how this hex code is determined
Autoread In Autoread mode, the reader can extract the following number(s) depending on the card type:
  • UID: chip serial number. Number sent when card is selected; readability of random IDs must be checked individually.
  • PCN: project-specific programmed card number
VHL commands VHL commands supported by the card type in addition to the VHL.Select command. Low-level commands Remarks
FeliCa 0x70 UID
PCN
VHL.GetSnr VHL.Read VHL.Write Felica cmd group Firmware supports access without authentication;
PCN requires a reader config;
PCN, VHL.Read, VHL.Write, and low-level commands not supported by LEGIC readers
Fujitsu MB89R118, -119 (ISO15693 FRAM) 0x30 UID
PCN
VHL.GetSnr VHL.Read VHL.Write iso15 cmd group PCN requires a reader config;
card not supported by LEGIC readers
HID iCLASS, iCLASS SR 0x60 The default hex value is 0x60. The other values indicate less common card types. These card types are only supported by ISO readers.
0x42
0x50
UID
PCN
VHL.GetSnr VHL.Read - PCN requires a reader config;
VHL.Read not supported by ISO readers
HID iCLASS SE 0x1x HID iCLASS SE is based on various ISO 14443-compatible technologies such as MIFARE DESFire (0x14). Thus, the reader may return any card type in the value range 0x10-0x1F.
Learn how this hex code is determined
UID
PCN
VHL.GetSnr - PCN requires an HID iCLASS SE Processor and a reader config;
PCN not supported by LEGIC readers
HID iCLASS SR, Seos (if HID iCLASS SE Processor not built into the reader) 0x60 The default hex value is 0x60. The other values indicate less common card types. These card types are only supported by ISO readers.
0x42
0x50
UID
PCN
VHL.GetSnr - PCN requires an HID iCLASS SE Processor and a reader config;
PCN not supported by LEGIC readers
HID iCLASS Seos UID enabled, Inside PicoPass 0x60 The default hex value is 0x60. 0x42 and 0x50 indicate less common card types. These card types are only supported by ISO readers.

Since HID iCLASS Seos is based on various ISO 14443-compatible technologies such as MIFARE DESFire (0x14), the reader may return any card type in the value range 0x10-0x1F.
Learn how this hex code is determined

0x42
0x50
0x1x
UID VHL.GetSnr -
ISO 14443 Type A general (e.g. Rijkspas, NFC Forum Type 1-4 Tag, NXP ProX, NXP SmartMX, OneSMART PayPass, Infineon my-d proximity) 0x1x In general, the reader returns a card type in the value range 0x10-0x1F for any ISO 14443 A-compatible card. Depending on the transponder, the reader may return other values besides the card types mentioned in this list (this applies e.g. to NXP SmartMX/JCOP cards).
Learn how this hex code is determined
UID OneSMART PayPass cards have unique application numbers that may or may not be identical with the chip serial number Learn more VHL.GetSnr iso14a cmd group Autoreading Rijkspas UID is not supported by standard firmware
ISO 14443 Type B general (e.g. Calypso, CEPAS, SRI512/SRT512) 0x40
0x41
UID Calypso and CEPAS cards have unique application numbers that may or may not be identical with the chip serial number Learn more VHL.GetSnr iso14b cmd group Card not supported by LEGIC readers
ISO 15693 general 0x30 UID
PCN
VHL.GetSnr VHL.Read VHL.Write iso15 cmd group PCN requires a reader config
LEGIC advant ISO 14443 0x1x Legic advant is based on various ISO 14443-compatible technologies such as MIFARE DESFire (0x14). Thus, the reader may return any card type in the value range 0x10-0x1F.
Learn how this hex code is determined
(on ISO readers)
0x18 (on LEGIC readers)
UID
PCN
VHL.GetSnr VHL.Read VHL.Write Legic cmd group PCN requires a reader config;
PCN, VHL.Read, VHL.Write, and low-level commands not supported by ISO readers
LEGIC advant ISO 15693 0x30 (on ISO readers)
0x32 (on LEGIC readers)
UID
PCN
VHL.GetSnr VHL.Read VHL.Write Legic cmd group PCN requires a reader config;
PCN, VHL.Read, VHL.Write, and low-level commands not supported by ISO readers
LEGIC prime 0xC0 UID
PCN
VHL.GetSnr VHL.Read VHL.Write Legic cmd group PCN requires a reader config;
card not supported by ISO readers
MIFARE Classic (1k, 4k, Mini), -EV1 0x10 UID
PCN
VHL.GetSnr VHL.Read VHL.Write VHL.Format Mif cmd group PCN requires a reader config
MIFARE DESFire, -EV1 (2k, 4k, 8k), -EV2, -EV3 0x14 UID
PCN
PCN
VHL.GetSnr VHL.Read VHL.Write VHL.Format Desfire cmd group PCN requires a reader config; for high security requirements, the PCN can be read with an NXP MIFARE SAM
MIFARE Plus (-S, -X, L1, L2, L3), -EV1, -EV2 0x10 (L1)
0x17 (L2)
L2 is legacy. Once discontinued, it will be mapped to the card type ISO 14443 Type A general with the hex value 0x16.
0x19 (L3)
UID
PCN
VHL.GetSnr VHL.Read VHL.Write VHL.Format Mif cmd group PCN requires a reader config;
for high security requirements, the PCN can be read with an NXP MIFARE SAM;
L2 is legacy and not fully supported; all other features fully supported with firmware 1100 v2.00 or above.
MIFARE Ultralight, -C, -EV1 0x13 UID VHL.GetSnr VHL.Read VHL.Write Ultralight cmd group VHL.Read and VHL.Write not supported by Ethernet firmware
NFC Forum Tag Types 2-5 Hex code of card type Not relevant VHL.GetSnr VHL.Read VHL.Write Low-level commands of card type Firmware supports physical access to card; reading metadata and interpreting/extracting data must be done by the host.
ST SRIX 0x90 UID VHL.GetSnr SRIX cmd group

UIDs of ISO 14443 cards

Among the many ISO-14443 implementations, there are cards such as Calypso, CEPAS, and OneSMART PayPass that are designed for specific applications. These applications have their own unique numbers that may or may not be identical with the UID of the card (i.e. chip serial number).

BALTECH readers can be configured to Autoread both numbers under certain conditions:

UID of the card (chip serial number)

Configuration

Prerequisites

  • The card must return its real UID, i.e. its real chip serial number.
  • If it returns a random ID, you can read the application number instead (see below).

Application number

The Calypso, CEPAS, and OneSMART PayPass applications have their own unique numbers, which are stored in a file in the card's memory. These numbers are referred to as follows:

  • Calypso: Application serial number
  • CEPAS: CAN number
  • OneSMART PayPass: PAN

Configuration

  • Configure the RFID interface with the component Autoread ISO 7816-4 Number in File.
  • In the component, specify a list of Select commands to select the file where the number is stored.
  • After the last Select command, a Binary Read (or optionally aCyclic Read) is executed implicitly.

Prerequisites

  • Exact address of the number, i.e. file and position within file.
  • No encryption keys are required to access the file in which the number is stored.
  • The number can be read with the ISO 7816-4 Binary Read or Cyclic Read command.

How are card types determined?

Since there are no reliable identification standards amongst card manufacturers, we use a heuristic that examines the UID, its length, and other (partially card-family-specific) information as described below.

Due to the lack of standards, we cannot guarantee the card type is always identified correctly.

ISO 14443 Type A card types (0x1x)

Remarks

  • All values are hex.
  • x = Don't care
  • Bits are numbered from 0.
  • The UID is equal to the VHL serial number.
  • UID[0] = most significant byte of UID
  • UID[n] = least significant byte of UID

VHL card types with SAK(bit 5) = 1

VHL card type Identification
MifareDesfire (0x14) SAK = 20
ATQA = x3x4
Length ATR historical bytes = 1
MifarePlusL3 (0x19) SAK = 20
ATQA = 00xn, for n in [2..7, A..F]
Last bytes of ATR equal to [C1, 05, 2F, 2F]
Iso14443aInterIndustry (0x12) SAK = 20
ATQA = 0x48
Iso14443aIntIndustryMif (0x16) All others

VHL card types with SAK(bit 5) = 0 and UID length = 04

VHL card type Identification
InfineonSle55 (0x15) SAK = 00
UID[0] = F0
MifareClassic (0x10) SAK in [08, 18, 09, 88]
MifarePlusL2 (0x17) SAK in [10, 11]
Iso14443aGeneric (0x11) All others

VHL card types with SAK(bit 5) = 0 and UID length in [07, 0A]

VHL card type Identification
MifareUltraLight (0x13) SAK = 0
ATQA = 0044
UID[n] = 04
MifareClassic (0x10) SAK in [08, 18]
UID[n] = 04
MifarePlusL2 (0x17) SAK in [10, 11]
UID[n] = 04
InfineonSle55 (0x15) UID[n] = 05
Iso14443aGeneric (0x11) All others

ISO 14443 Type B card types (0x40/0x41)

VHL card type Identification
Iso14443bIntIndustry (0x41) ISO14443-4 flag is set in the ATQB response
Iso14443bUnknown (0x40) All others

LEGIC advant (0x18/0x32)

A LEGIC advant card is based on ISO 15693 or ISO 14443 Type A. The value returned for such a card depends on the type of reader you use.

The standard reader returns the generic ISO card type:

  • Iso15693 (0x30) for cards based on ISO 15693
  • 0x1x for cards based on ISO 14443 Type A

The LEGIC reader returns the LEGIC-based card type:

  • LEGICAdvantIso15693 (0x32) for cards based on ISO 15693
  • LEGICAdvantIso14443a (0x18) for cards based on ISO 14443 Type A

125 kHz cards (0x8x/0xAx)

Certain card types can be programmed to emulate other card types.
Example: An EM 4205 card can emulate an EM 4100 card.

In this case, the reader returns the original card type (i.e. EM 4205 in the example).

This applies to the following return values:

  • EM4205 (0x80)
  • HITAG1S (0x8C)
  • HITAG2M (0x8D)
  • HITAG2B (0x8E)

If the card is positioned at the edge of the antenna field, the reader may detect both card types. To avoid this, configure the reader to scan for 1 card type only.

Back to top