WTF is RFID?
Radio, a number, and a lot of plastic. Pick a way in — every path ends up in the same places, and anything you've already read gets a ✓.
Start from the physics
What radio is, what "ID" means, and why the frequency changes everything.
Start from what's in your pocket
Pick a thing you've tapped, and work backwards to how it works.
Contactless credit cardsTap to pay is a tiny smart card doing cryptography in the half-second your card hovers over the terminal.In the wildHF · 13.56 MHzHotel door keysA card that stores a room number and a checkout time, read by a lock that isn't plugged into anything. That design explains almost everything odd about hotel keys.In the wildHF · 13.56 MHzOffice badgesThe badge you tap at work is usually just a number. Everything interesting happens in a box in a closet.In the wildClothing and inventory tagsThe strip of foil in your T-shirt label. It doesn't just say "medium blue shirt" — it says which one.In the wildUHF · 860–960 MHzPet microchipsA grain-of-rice LF tag that says one number. Whether it gets your pet home depends entirely on a database.In the wildLF · 125–134 kHzBiohacking (human implants)The same grain-of-rice glass chip as the dog, injected into the web of your hand. A hobbyist access badge you can't lose — and can't upgrade without a scalpel.In the wildSecurity keys (YubiKey)The thing on your keychain that logs you in with a tap — a smart card in a different shape.In the wildHF · 13.56 MHzE-passportsThe chip behind the little camera-shaped logo — signed by your government, and built not to talk to strangers.In the wildHF · 13.56 MHzPhonesYour phone is a reader, a card and a wallet — sometimes all in the same minute.In the wildHF · 13.56 MHzMobile walletsApple Wallet, Google Wallet and friends — one tap for your card, your train, your car and your office, and not one of them is the real thing.In the wildHF · 13.56 MHzToysYoto cards, Skylanders, amiibo and DropMix — RFID's most fun job, done two very different ways.In the wildHF · 13.56 MHz
Start from your tool
Got a reader, a phone or a Proxmark? Pick it and every page shows tips for it.
Proxmark3The open-source RFID research tool — LF and HF, a command line, and the deepest rabbit hole on this site.ToolFlipper ZeroThe pocket multi-tool with a dolphin on the screen — 125 kHz and NFC in a friendly menu.ToolChameleonUltraA keyring-sized LF/HF card emulator with a reader built in, driven from a phone app.ToolYour phoneThe NFC reader you already carry — great at HF, blind to everything else.ToolUSB NFC readerA cheap desktop 13.56 MHz reader — the developer's way into HF cards, scripts and smart-card tools.ToolUHF readerThe only thing that can see EPC tags — from a USB stick on your desk to a handheld that counts a shop in an hour.Tool
The whole map
Arrows point from a page to what builds on it; dashed arrows are ways in from examples and tools. Colour is the band (LF, HF, UHF, tools), dashed boxes are drafts, ✓ is read. Click anything.
flowchart LR what-is-rf["What is RF?"]:::any what-is-id["What is the ID?"]:::any frequency-bands["LF, HF, UHF"]:::any near-far-field["Near field vs far field"]:::any lf["LF — 125 kHz"]:::lf hf["HF — 13.56 MHz"]:::hf uhf["UHF — 860–960 MHz"]:::uhf uwb["Ultra-wideband (UWB)"]:::any iso14443["ISO 14443"]:::hf uid["The UID"]:::any card-security["Why old cards are a bad idea"]:::any wiegand["Wiegand"]:::any osdp["OSDP"]:::any multi-tech-readers["Multi-technology readers"]:::any nfc-ndef["NFC and NDEF"]:::hf mifare-classic["MIFARE Classic"]:::hf mifare-desfire["MIFARE DESFire"]:::hf prox["HID Prox"]:::lf iclass["iCLASS"]:::hf seos["Seos"]:::hf pki-cards["Public-key cards"]:::hf piv["PIV and CAC"]:::hf mifare-duox["MIFARE DUOX"]:::hf mobile-credentials["Mobile credentials"]:::any aliro["Aliro"]:::any credit-card["Contactless credit cards"]:::hf hotel-key["Hotel door keys"]:::hf office-badge["Office badges"]:::any epc-tag["Clothing and inventory tags"]:::uhf pet-microchip["Pet microchips"]:::lf biohacking["Biohacking (human implants)"]:::any yubikey["Security keys (YubiKey)"]:::hf passport["E-passports"]:::hf mobile-phones["Phones"]:::hf mobile-wallets["Mobile wallets"]:::hf toys["Toys"]:::hf proxmark3["Proxmark3"]:::tool flipper-zero["Flipper Zero"]:::tool chameleon-ultra["ChameleonUltra"]:::tool phone["Your phone"]:::tool usb-nfc-reader["USB NFC reader"]:::tool uhf-reader["UHF reader"]:::tool what-is-rf --> what-is-id what-is-rf --> frequency-bands frequency-bands --> near-far-field frequency-bands --> lf frequency-bands --> hf frequency-bands --> uhf near-far-field --> uhf frequency-bands --> uwb hf --> iso14443 what-is-id --> uid uid --> card-security what-is-id --> wiegand wiegand --> osdp wiegand --> multi-tech-readers card-security --> multi-tech-readers hf --> nfc-ndef iso14443 --> mifare-classic iso14443 --> mifare-desfire lf --> prox hf --> iclass iclass --> seos what-is-id --> pki-cards iso14443 --> pki-cards pki-cards --> piv pki-cards --> mifare-duox mifare-desfire --> mifare-duox mobile-phones --> mobile-credentials mobile-credentials --> aliro pet-microchip --> biohacking mobile-phones --> mobile-wallets credit-card -.-> iso14443 credit-card -.-> mobile-phones credit-card -.-> pki-cards hotel-key -.-> mifare-classic hotel-key -.-> card-security hotel-key -.-> mobile-credentials office-badge -.-> prox office-badge -.-> iclass office-badge -.-> mifare-desfire office-badge -.-> wiegand office-badge -.-> osdp office-badge -.-> card-security office-badge -.-> mobile-credentials epc-tag -.-> uhf epc-tag -.-> uid pet-microchip -.-> lf pet-microchip -.-> near-far-field pet-microchip -.-> nfc-ndef yubikey -.-> pki-cards yubikey -.-> piv yubikey -.-> nfc-ndef passport -.-> pki-cards passport -.-> iso14443 passport -.-> uid mobile-phones -.-> aliro mobile-phones -.-> uwb mobile-phones -.-> pki-cards toys -.-> what-is-id toys -.-> mifare-classic toys -.-> nfc-ndef toys -.-> uid proxmark3 -.-> lf proxmark3 -.-> hf flipper-zero -.-> lf flipper-zero -.-> hf chameleon-ultra -.-> lf chameleon-ultra -.-> hf phone -.-> hf phone -.-> nfc-ndef phone -.-> mobile-phones usb-nfc-reader -.-> hf usb-nfc-reader -.-> iso14443 usb-nfc-reader -.-> piv uhf-reader -.-> uhf uhf-reader -.-> epc-tag click what-is-rf "/learn/what-is-rf/" click what-is-id "/learn/what-is-id/" click frequency-bands "/learn/frequency-bands/" click near-far-field "/learn/near-far-field/" click lf "/learn/lf/" click hf "/learn/hf/" click uhf "/learn/uhf/" click uwb "/learn/uwb/" click iso14443 "/learn/iso14443/" click uid "/learn/uid/" click card-security "/learn/card-security/" click wiegand "/learn/wiegand/" click osdp "/learn/osdp/" click multi-tech-readers "/learn/multi-tech-readers/" click nfc-ndef "/learn/nfc-ndef/" click mifare-classic "/learn/mifare-classic/" click mifare-desfire "/learn/mifare-desfire/" click prox "/learn/prox/" click iclass "/learn/iclass/" click seos "/learn/seos/" click pki-cards "/learn/pki-cards/" click piv "/learn/piv/" click mifare-duox "/learn/mifare-duox/" click mobile-credentials "/learn/mobile-credentials/" click aliro "/learn/aliro/" click credit-card "/learn/credit-card/" click hotel-key "/learn/hotel-key/" click office-badge "/learn/office-badge/" click epc-tag "/learn/epc-tag/" click pet-microchip "/learn/pet-microchip/" click biohacking "/learn/biohacking/" click yubikey "/learn/yubikey/" click passport "/learn/passport/" click mobile-phones "/learn/mobile-phones/" click mobile-wallets "/learn/mobile-wallets/" click toys "/learn/toys/" click proxmark3 "/learn/proxmark3/" click flipper-zero "/learn/flipper-zero/" click chameleon-ultra "/learn/chameleon-ultra/" click phone "/learn/phone/" click usb-nfc-reader "/learn/usb-nfc-reader/" click uhf-reader "/learn/uhf-reader/" classDef lf fill:#161b22,stroke:#f0b35a,color:#e6edf3,stroke-width:2px classDef lfStub fill:#0d1117,stroke:#f0b35a,color:#8b949e,stroke-width:1.5px,stroke-dasharray:4 3 classDef hf fill:#161b22,stroke:#58d6ff,color:#e6edf3,stroke-width:2px classDef hfStub fill:#0d1117,stroke:#58d6ff,color:#8b949e,stroke-width:1.5px,stroke-dasharray:4 3 classDef uhf fill:#161b22,stroke:#c792ea,color:#e6edf3,stroke-width:2px classDef uhfStub fill:#0d1117,stroke:#c792ea,color:#8b949e,stroke-width:1.5px,stroke-dasharray:4 3 classDef any fill:#161b22,stroke:#8b949e,color:#e6edf3,stroke-width:2px classDef anyStub fill:#0d1117,stroke:#8b949e,color:#8b949e,stroke-width:1.5px,stroke-dasharray:4 3 classDef tool fill:#161b22,stroke:#3fb950,color:#e6edf3,stroke-width:2px classDef toolStub fill:#0d1117,stroke:#3fb950,color:#8b949e,stroke-width:1.5px,stroke-dasharray:4 3