You hold an RFID card to a reader. Beep. Something happened. But what did you actually get? A number? A name? Access granted or denied?
Here is the thing most people miss when they search how to read RFID cards. There is reading, and then there is reading. Some cards just spit out a serial number. Others hold paragraphs of data. And the reader you use determines which one you get.
Let me walk through what “reading a card” actually means and how to do it without losing your mind.
First: What Kind of Card Are You Holding?
Before you can read anything, you need to know what you are dealing with. RFID cards come in two main flavors :
Low Frequency (125 kHz): Old school proximity cards. HID Prox, Indala, most older access control cards. These things only store a number. That is it. You cannot write to them, you cannot store your name on them. They just broadcast a fixed ID when awakened .
High Frequency (13.56 MHz): Smarter cards. Mifare Classic, DESFire, NFC tags. These have real memory—sectors, blocks, the works. A standard Mifare 1K card has 16 sectors, each with 4 blocks, total 1024 bytes of storage . You can read the UID, sure, but you can also read actual data stored on the card.
Ultra High Frequency (860-960 MHz): RAIN RFID cards and tags. Longer range, used in logistics and vehicle access. These also store data but organized differently .
If you grabbed a random card from 2005, it is probably 125 kHz and only gives you a number. If it is a modern office badge, likely 13.56 MHz with actual data .
Method 1: Reading Just the Card UID (The Simple Way)
For access control, you usually only need the card’s unique ID. The UID. This is the number the door controller checks against its database .
Using a desktop USB reader:
Most desktop RFID readers act like keyboards. You hold the card up, and the UID gets typed into whatever field has focus .
CYKEO CK-D1L desktop encoder works this way. Plug it in via USB, open Notepad, tap a card. The UID appears as a string of hex digits . No software needed for basic reads.
Using an access control panel:
If you are adding cards to a door system, you typically present the card to the reader while the panel is in programming mode. The panel captures the UID and stores it .
For 2N intercoms, you go to the web interface, find Events, present the card, and copy the “uid” parameter . Then paste it into the user record.
Using an Android phone with NFC:
If your phone has NFC, you can read 13.56 MHz cards without any extra hardware. Apps like “NFC Tools” show you the UID and tag type instantly . Works for Mifare, NTAG, DESFire.
But here is the catch: phones only read HF/NFC. They cannot read 125 kHz proximity cards or UHF RAIN cards . For those, you need external readers.
Method 2: Reading Card Data (The Real Way)
When you need more than just an ID—like name, expiry date, or custom data—you have to read the card’s memory.
Card memory structure (Mifare Classic example):
Mifare 1K cards organize memory into sectors and blocks :
- 16 sectors, numbered 0 to 15
- Each sector has 4 blocks
- Each block holds 16 bytes
- Total: 64 blocks, 1024 bytes
Important restrictions :
- Block 0 (first block of sector 0) stores manufacturer data—read only
- The last block of each sector (block 3, 7, 11, etc.) is the “trailer block” containing access keys
- Writing to trailer blocks can lock you out permanently
Reading with Python and MFRC522:
For hobby projects with Raspberry Pi, the MFRC522 module is standard .
First, install the library:
bash
pip install mfrc522-python
Basic read example :
python
from mfrc522 import MFRC522
reader = MFRC522()
print("Hold card near reader...")
# Wait for card
while True:
(status, TagType) = reader.Request(reader.PICC_REQIDL)
if status == reader.MI_OK:
break
# Get UID
(status, uid) = reader.Anticoll()
if status == reader.MI_OK:
print("Card UID:", uid)
# Select card for further operations
reader.SelectTag(uid)
# Authenticate using default key
key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
status = reader.Authenticate(reader.PICC_AUTHENT1A, 8, key, uid)
if status == reader.MI_OK:
# Read block 8 (first block of sector 2)
data = reader.ReadTag(8)
if data:
print("Data block 8:", data)
# Always stop authentication when done
reader.StopAuth()
The SimpleMFRC522 class makes it even easier :
python
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
id, text = reader.read()
print(f"Card ID: {id}")
print(f"Stored text: {text}")
Reading with Raspberry Pi Pico (MicroPython):
For embedded projects, there is a MicroPython module for MFRC522 . Same basic flow: request card, anti-collision, select, authenticate, read.
The Pico example reads the UID, then compares it against a hardcoded value. If match, green LED flashes; if not, red LED . Good model for access control experiments.
Method 3: Reading with CYKEO Professional Readers
For production systems, you want something that just works. CYKEO desktop encoders and handhelds handle the complexity so you do not have to .
CYKEO CK-D1L Desktop Encoder:
This is a Type-C connected UHF desktop reader for RAIN RFID cards . It reads at 840-960 MHz, covers all major regions. The neat part: near-field antenna limits reading to about 30cm, so you do not accidentally read every card on the desk .
In your application, you use the CYKEO SDK:
python
from cykeo_sdk import DesktopEncoder
encoder = DesktopEncoder("COM3") # or USB auto-detect
encoder.connect()
def on_card_read(card):
print(f"Card UID: {card.epc}")
print(f"TID: {card.tid}") # factory-programmed unique ID
print(f"User memory: {card.user_data}")
encoder.on_card = on_card_read
encoder.start_reading()
CYKEO CK-B5L Handheld Reader:
For mobile reading, the CK-B5L connects via Bluetooth to Android or iOS devices . It reads UHF tags up to 8 meters away—good for inventory where you cannot touch every item.
The SDK handles the Bluetooth connection, tag filtering, and data formatting so you focus on the app logic .
Method 4: Reading with Configuration Tools
Sometimes you do not need to code. You just want to see what is on a card or configure a reader to work with your cards.
rf IDEAS Configuration Utility:
This Windows tool connects to compatible readers and includes a “Card Analyzer” . You place a card on the reader, click “Learn Card,” and the utility tries every standard until it finds one that works. Then it shows you what data it can read and lets you configure the reader accordingly .
Useful when you inherit a box of mystery cards and need to figure out what they are.
What Data Can You Actually Read?
This depends on the card type and access permissions .
125 kHz proximity cards: Just the UID. Usually 24-32 bits, often printed on the card as decimal or hex. No user memory .
Mifare Classic 1K/4K:
- UID (4 or 7 bytes)
- Manufacturer data (block 0, read only)
- User data in blocks 1-63 (except trailer blocks)
- Sector trailers containing access keys (readable if you know the key)
Mifare DESFire: More complex file system. Can store multiple applications with encrypted files. Requires more advanced readers and authentication.
UHF RAIN RFID cards:
- EPC (Electronic Product Code) – main identifier
- TID (Tag Identifier) – factory programmed, unique
- User memory (size varies by tag)
Authentication: The Key to Reading Locked Cards
Here is where people get stuck. Many cards require authentication before they let you read user data .
Mifare Classic uses a simple challenge-response with 6-byte keys. Each sector can have its own key. The default key for many cards is all 0xFF :
python
default_key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
If the card uses a different key, you need to know it. For access control systems, the facility code and site code are often used to derive keys.
The authentication step happens after selecting the card but before reading any blocks . If authentication fails, you get nothing.
Common Problems When Reading Cards
Problem: Reader sees card but no data comes back
Card might be locked or using unknown key. Try reading just the UID first—that usually works without authentication. If UID works but data does not, authentication is the issue.
Problem: Same card shows different UIDs on different readers
Some readers format UID differently. Decimal vs hex. Reversed byte order. Check the reader settings for consistent output format.
Problem: Can read some cards but not others
Different card types. Your reader might support Mifare but not DESFire, or 125 kHz but not 13.56 MHz. Check the reader specs.
Problem: Data reads as garbage
You might be reading the wrong block, or the block contains binary data that looks like garbage when printed as ASCII. Try reading as hex to see raw bytes.
Problem: Card reads once then stops
You forgot to stop authentication before reading another card. The MFRC522 requires StopAuth() between different cards . In the CYKEO SDK, this is handled automatically.
The Bottom Line
How to read RFID cards has three answers depending on what you need:
- Just the card number: Use a USB desktop reader, open Notepad, tap card. Done.
- Data stored on the card: Use an SDK (MFRC522 for hobby, CYKEO SDK for production). Handle authentication, read specific blocks, parse the data.
- Identify unknown cards: Use a configuration utility with “learn card” feature to detect type and readable data.
Most people overcomplicate it. If you only need access control, the UID is enough. If you need data off the card, you need to understand sectors, blocks, and keys.
And when you get stuck—because everyone does—CYKEO support has seen every card type there is. Call us with your reader model and what you are trying to read. We will walk you through it.
Need to read cards in your application?
CYKEO offers desktop encoders, Bluetooth handhelds, and fixed readers for every card type. SDKs for Python, Java, C# included. Contact our team for developer samples.

2025-12-17
CYKEO Passive RFID Tags are made for wet and high-humidity environments where standard labels do not last. This rfid passive tag is often used around liquids, chemicals and temperature changes, providing stable reading distance and long data life for industrial tracking.

2025-12-17
CYKEO CYKEO-PCB1504 Metal RFID Tags is a compact anti-metal UHF RFID solution built for direct mounting on metal surfaces. With stable 8-meter read range, Ucode-8 chip, and long data retention, this rfid metal tag fits tools, containers, automotive parts, and industrial asset tracking.

2025-12-17
CYKEO CYKEO-PCB7020 On-Metal RFID Tags are designed for reliable tracking on steel and metal surfaces. Built with an FR4 epoxy body and industrial-grade chips, these On-Metal RFID Tags deliver stable performance, long data life, and chemical resistance, making them a dependable RFID anti-metal tag for harsh environments.

2025-12-17
The CYKEO CYKEO-60-25 Anti-Metal RFID Tag is built for metal surfaces where standard tags fail. Designed for long-range performance, harsh environments, and stable data retention, this Anti-Metal RFID Tag is ideal for industrial assets, containers, and equipment tracking using on metal RFID tags.

2025-12-17
The CYKEO RFID Laundry Tag is designed for long-term textile identification in harsh laundry environments. Built to withstand high heat, chemicals, and repeated washing, this RFID Laundry Tag delivers stable performance for hotels, hospitals, and industrial laundry operations using laundry rfid tags at scale.

2025-12-17
The CYKEO CYKEO-125-7 RFID Book Tag is designed for reliable book and document tracking in libraries and archives. This RFID Book Tag delivers long read range, dense placement support, and stable performance on shelves, making it a practical rfid tag on books for library automation, file management, and archival systems.

2025-12-16
CYKEO RFID tags in hospitals are designed for sterile environments where accuracy matters. These autoclavable RFID tags support long-term tracking of surgical tools, implants, and medications, helping hospitals improve visibility, compliance, and patient safety.

2025-12-16
CYKEO RFID Cable Tie Tag is built for reliable identification on metal surfaces. This UHF RFID Cable Tie Tag is widely used in rfid tags for inventory systems, industrial asset management and Hospital RFID Tags, offering stable read performance, long service life and global EPC Gen2 compatibility.

2025-12-16
CYKEO RFID Asset Tag is designed for stable identification of metal assets in industrial environments. This UHF RFID Asset Tag is commonly used for rfid tag asset tracking on equipment, tools and containers, providing reliable reads, long service life and ISO/IEC 18000-6C support.

2025-12-16
CYKEO UHF RFID Card is designed for fast identification and long-term use in industrial and commercial systems. Supporting ISO 18000-6C, this UHF RFID Card works at 860–960 MHz and is suitable for custom RFID cards used in asset tracking, access control and inventory management.

2025-12-16
CYKEO HF RFID Cards are designed for secure and stable access control systems. These 13.56 MHz RFID key cards support ISO 14443-A, reliable rewriting and long service life, making HF RFID Cards suitable for offices, campuses, events and membership management.

2025-12-16
CYKEO UHF RFID Tag is designed for reliable tracking of metal jewelry and high-value items. This Jewelry RFID Tag supports long-range reading up to 8 meters, anti-counterfeit protection and stable performance on metal, making it suitable for retail, inventory control and asset management.

2025-12-15
CYKEO Embedded RFID Modules are designed for compact industrial and IoT devices that require stable UHF performance. These UHF RFID Modules support global protocols, flexible power control, and reliable multi-tag reading for smart cabinets, production lines, and asset tracking systems.

2025-12-15
CYKEO Embedded RFID Module is built for compact IoT and industrial devices that need stable UHF performance. This UHF module supports global protocols, low power operation, and reliable multi-tag reading for smart lockers, production lines, and always-on RFID systems.

2025-12-15
CYKEO CYKEO-M1 drone rfid module is a compact UHF RFID reader module designed for drones and UAV platforms. It supports long-range aerial scanning, fast multi-tag reading, and stable performance in wind, vibration, and outdoor environments.

2025-12-15
CYKEO CYKEO-M4 RC522 RFID Module is an industrial-grade UHF RFID reader with 4 ports, supporting ISO, EPC, and GB protocols. High-speed, accurate reading for IoT, automation, and warehouse applications.

2025-12-15
CYKEO CYKEO-M8 Module RFID is an 8-port UHF R2000 RFID Module designed for high-density, multi-tag environments. Stable 33dBm output, ISO & GB protocol support, ideal for warehouses, factories, and automated systems.

2025-12-15
CYKEO CYKEO-M16 RFID Module is a 16-port UHF RFID reader module based on the R2000 chipset. Designed for dense tag environments, it supports ISO and GB standards and delivers stable multi-antenna control for industrial automation.

2025-12-15
The CYKEO CYKEO-M16L RFID Reader Module is a 16-channel UHF RFID core designed for dense tag environments. With adjustable 33dBm output, multi-protocol support, and stable multi-antenna control, this RFID Tag Reader Module fits industrial automation, warehouse systems, and large-scale IoT deployments.

2025-12-15
CYKEO CYKEO-M8L module RFID is a compact industrial UHF module built for dense tag and multi-antenna environments. With 8 RF ports, adjustable 33 dBm output, and ISO & GB protocol support, it is widely used in factories, warehouses, and automated tracking systems.

2025-12-15
CYKEOCYKEO-M4L UHF RFID Module is a compact 4-channel RFID tag reader module designed for dense tag environments. Supporting ISO and GB protocols, it delivers stable reads up to 10 meters for industrial and IoT systems.

2025-12-04
Cykeo CYKEO-A11 UHF RFID reader antenna delivers 11dBi gain, 840-960MHz frequency range, and IP65 ruggedness for retail, logistics, and industrial RFID systems. Features low VSWR and easy installation.

2025-12-04
CYKEO Antenna RFID Reader delivers stable long-range UHF performance with a 10.5dBi directional design, built for warehouses, conveyor portals, and industrial RFID systems. This rfid reader antenna provides 20m+ read distance and rugged IP67 protection.

2025-12-04
Cykeo CYKEO-PHF3 industrial HF RFID Antenna offers 24-point dynamic tracking, ISO 14443A/15693 protocols, metal-environment stability for archives/libraries/manufacturing.

2025-12-04
Cykeo CYKEO-A5B industrial Linear RFID Antenna delivers 5dBi gain, ≤1.5:1 VSWR, and IP65 rugged design for warehouse, production line, and logistics UHF systems.

2025-12-04
Cykeo’s CYKEO-B12 Long Range RFID Antenna delivers 15m+ read range with 12dBi gain, IP65 rugged design, and global 840-960MHz UHF support. Ideal for warehouse/logistics asset tracking.

2025-12-04
Cykeo CYKEO-B10 Long Distance RFID Antenna offers 10dBi gain, 840-960MHz frequency range, IP65 rating, and 20m+ coverage for logistics/warehousing/ETC systems. Low VSWR ensures stable signal transmission.

2025-12-04
Cykeo CYKEO-A6 UHF RFID panel antenna features 6dBi gain, 840-960MHz broadband, IP65 metal-ready housing for logistics/smart retail. 18mm ultra-thin design with tool-free mounting.

2025-12-04
Cykeo CK-A3 industrial antenna RFID UHF offers 5m+ tag detection, ≤1.3:1 VSWR, IP65 rugged design, and global UHF spectrum compatibility (840-960MHz) for warehouses, factories, and retail.

2025-12-04
Cykeo CYKEO-B5 directional RFID antenna provides 5dBi gain with 60° narrow beamwidth for precise inventory tracking. IP65-rated, global UHF frequency support, and low VSWR.

2025-12-04
Create your own high-performance DIY RFID antenna! 5dBi gain, 840-960MHz tunable, step-by-step guides. Compatible with Arduino, Raspberry Pi, and commercial UHF readers.

2025-12-04
Cykeo CYKEO-A7 Flexible RFID Antenna features 840-960MHz wideband tuning, 7dBi gain, and IP68 rating for medical/retail/industrial curved surface deployments. 98% read accuracy with peel-and-stick installation.

2025-12-04
Cykeo CYKEO-B5A industrial Passive RFID Antenna delivers 5dBi gain, 70° beamwidth, and -40°C~55°C operation for warehouses/smart cabinets. Compatible with Zebra/Impinj readers.

2025-12-04
Cykeo’s CYKEO-A9B High Gain RFID Antenna delivers 15m+ read range with 9dBi amplification. Features IP54 rugged design, 840-960MHz bandwidth, and 80° beamwidth for warehouse/manufacturing RFID systems.

2025-12-03
Cykeo’s enterprise-grade 8dbi Impinj RFID Antenna 10m+ read range with 840-960MHz tuning. Features IP65 housing, 1.4 VSWR, 35° beamwidth for retail/warehouse RFID systems.

2025-12-03
Cykeo CYKEO-A9 industrial UHF RFID antenna delivers 9dBi gain, 840-960MHz frequency range, and IP65 protection for warehouse/logistics/retail RFID systems. Features N-type connector and ≤1.3:1 VSWR.

2025-12-03
CYKEO UHF RFID Antenna built for long-distance and industrial applications. This antenna rfid uhf delivers strong gain, outdoor durability, and reliable tag performance in warehouses, yards, and vehicle ID systems.

2025-12-03
CYKEO Antenna RFID delivers reliable long-range UHF performance in warehouses, retail shelves, and cold-chain environments. This compact uhf rfid antenna provides stable reads with circular polarization and ultra-wide 840–960 MHz support, ideal for industrial tracking, smart shelves, and asset monitoring.

2025-12-03
Cykeo’s CYKEO-C8 UHF RFID antennas delivers 8dBi gain, 840-960MHz full-band coverage, and IP65 ruggedness for manufacturing/warehouse RFID systems. Industrial RFID Antennas Features

2025-12-03
Cykeo’s 8dBi UHF RFID antenna and reader kit delivers 10m+ range, 840-960MHz broadband, and IP65 ruggedness for factories, warehouses, and logistics. ISO 18000-6C & EPC Gen2 certified.

2025-12-03
Cykeo CYKEO-A9A industrial UHF RFID reader and antenna kit delivers 10m range, 500 tags/sec, IP65 ruggedness for manufacturing/logistics. Supports EPC Gen2, ISO18000-6C.

2025-12-03
Cykeo’s CYKEO-A12C UHF Large RFID Antenna delivers 12dBi gain, 840-960MHz global frequency, IP65 ruggedness for logistics/warehousing/automotive. 40° beamwidth ensures stable 15m+ tag reads.

2025-12-02
CYKEO Near Field RFID Antenna provides precise 5–30 cm reading for shelves, cabinets, and workstations. This compact rfid shelf antenna delivers stable short-range performance around metal and clutter, ideal for pharmacies, libraries, and electronics sorting.

2025-12-02
Cykeo’s industrial long range RFID reader delivers 20-meter scanning, 500+ tags/sec speed, and IP67 waterproof design for automated warehouses, logistics, and harsh environment applications.

2025-12-02
Cykeo’s CYKEO-RA6L industrial RFID long range reader features 20m read distance, 500 tags/sec speed, and IP67 protection. Ideal for warehouse automation, manufacturing WIP tracking, and smart logistics. Supports ISO 18000-6C/6B protocols.

2025-12-02
CYKEO Long Range RFID Tag Reader built for outdoor and industrial operations. This Outdoor RFID Reader delivers 20m read distance, fast tag processing, and IP67 durability for wide-area tracking.

2025-12-02
Cykeo CYKEO-RA12L industrial Long Range RFID Reader delivers 20m read range, 200+ tags/sec scanning, and IP67 protection for manufacturing/logistics applications. Supports ISO 18000-6C/GB protocols.

2025-12-01
Cykeo CYKEO-B9 UHF Bluetooth handheld RFID scanner features 12m UHF range, 200+ tags/sec scanning, IP67 rugged design for retail/warehouse/pharma. Supports Android SDK & real-time Bluetooth 5.0 transmission.

2025-12-01
Cykeo CYKEO-B4 UHF Handheld RFID Reader scanner delivers 1300 tags/sec reading, 30m UHF range, and 12-hour battery life. IP65 rugged design with barcode/NFC/ID scanning for retail/manufacturing/logistics.

2025-12-01
Cykeo CYKEO-B2 industrial UHF RFID handheld offers 10m range, 500 tags/sec scanning, Android 11 OS, and IP65 rugged design for retail/warehouse/manufacturing.