Skip to content
Language: EN

Why do Japanese transit cards not work with most NFC apps?

The radio layer is rarely the obstacle: most recent phones can detect these cards, which use the technology Android exposes as NfcF. What blocks a general application is access to the data, which is protected and readable only by software holding credentials the transit operators control.

Two separate obstacles

"My app cannot read my transit card" bundles two questions that have different answers. Can the phone talk to the card at all, and can the application understand what the card says?

The first is usually fine. The second usually is not, and no amount of trying different applications changes it.

The technology underneath

These cards use the family Android exposes as NfcF and documents as JIS 6319-4 in its technology reference. The NFC Forum adopted the same family as Type 3. The technology is developed by Sony, which publishes an overview of FeliCa.

Hardware support outside Japan was patchy for years and has improved considerably.

Why the balance stays hidden

A transit card is not a tag holding a number in the open. It is a small secure system where the interesting data sits in areas protected by keys held by the operator.

An application without those keys can generally establish that a card is present and read whatever identifiers the card exposes freely. It cannot read the balance, the journey history or anything else the operator considers its own, because the card will not hand them over.

This is a deliberate design rather than a limitation. A stored value card that let any nearby application read its contents would be a poor design for a payment instrument.

What you can reasonably expect

Applications published by the transit operators themselves, and the wallet features built into the phone platforms in Japan, work because they hold the necessary credentials and the necessary agreements. A general purpose NFC utility does not and cannot.

So the honest expectation for a generic tool is technical inspection rather than useful content: the card is detected, its technology is identified, and that is the end of what any independent developer can offer.

If a listing claims otherwise for a general application, treat the claim with suspicion. The barrier here is contractual and cryptographic, not a matter of writing better software.

Frequently asked questions

Is my phone missing the hardware?

Possibly, on older models sold outside Japan, but far less often than people assume. Before blaming the hardware, note that even a phone with full support will not read protected data without the operator's keys.

Can any application show my card balance?

Only applications with the operator's authorisation, which in practice means the operator's own software and the platform wallet features available in Japan. This is a commercial and cryptographic barrier, not a software quality one.

Why can my phone read a hotel key card but not a transit card?

Many hotel cards use simple technologies with default or weak protection, so a general reader gets further. Transit cards are built to resist exactly that, because they carry stored value.

Does this apply to transit cards outside Japan?

The principle does. Most transit systems protect their data with keys they control, whatever the underlying technology. What varies is the technology, not the fact that the interesting parts are locked.