What is NFC? [Android A to Z]

What is NFC?  NFC stands for Near-Field Communication and is a set of standards (established in 2004) for small, portable devices to establish radio communications with each other. Devices need to be close, usually no more than a few centimeters apart (and often they need to touch), which is why it's a Near-Field way to communicate. The standards cover data exchange formats defined by the NFC Forum (no, not that kind of forum) and are based on the original radio frequency identification (RFID) standards.  The forum also certifies devices like tags, cards, and smartphones.  

The coolest part of all this is that only one of the devices needs to be "smart."  Most of us has a credit card of some sort that we can tap against a payment machine, either at the gas pump or a cash register.  Both the payment machine and the credit card are NFC devices, but the card only has a string of information electronically written to a tiny chip embedded inside it.  And this is useful for other things, like starting and handling more robust communications like Wifi or Bluetooth, but most often it's used with one of these "dumb" chips.  These dumb chips can be written with any information, and the smart device determines what happens when communication is established.  

Of course, what most of us here think of when we hear NFC is Google Wallet.  Google Wallet takes things a step further by using your Android phone as both a smart device and a dumb device.  When you tap your phone at McDonald's to pay for those McNuggets, it's simply sharing your credit card credentials like any card would.  But there's functionality and hardware there to accept payments, track balances, provide security and more.  Right now it's only officially available as a test on the Nexus S 4G, but it's been hacked onto other phones with NFC hardware.  Soon, we'll see it (and other apps for things like ISIS) as a standard on Android phones.  Until then, we'll just have to play with tags and Android Beam.

Previously on Android A to Z: What is MWC?; Find more in the Android Dictionary

More from the Android Dictionary


Jerry Hildenbrand
Senior Editor — Google Ecosystem

Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.

  • So, it has nothing to do with football?
  • I'm not well educated on this stuff, so if my question is elementary, please be kind.
    If the dumb chips in our credit cards can be read with a tap or bump or within a "short" or "near-field" distance, what's to keep some rogue element from hacking a piece of hardware to read the chips and steal my info by say, swinging it past my back pocket where my card sits in a wallet or past my hand while I'm holding my card waiting in a check-out line or bumping into me or something? Is there some security code known only to the dumb chip that opens it to be read? If so, how do the various smart devices I've never used before know the code to my card?
    I have to believe security has been built in somehow?
  • They all use a secure token of some sort.  It's all proprietary, so we don't really know how they're doing it, but things like my Shell card only work on special gas pumps that can communicate.  If I hit it with my phone, it's just gibberish on the embedded tag and it can't do anything with it.  
  • They're not that dumb. Just imagine I want you to prove me that you have the secret 'xpt0'. I send you some random token 'r4nd0m', you apply a one way function F('xpt0', 'r4nd0m') and send me the result. I do the same and compare my result with the result you provide me, if they match, it means you know the secret.
    You never sent me the secret, just the result of the function. This is just a basic authentication mechanism, they're actually much smarter than this. They're called smart cards.