The tag works on one phone but not another
Two very different causes hide behind one symptom. Either the second phone cannot read the tag, which is a hardware and margin question. Or it reads it and declines to act, which is a content question. Watching for any reaction at all separates them.
Split the symptom first
Watch the failing phone closely. Does it react at all: a sound, a vibration, a notification, anything?
No reaction means the tag was never read, and the cause is physical. Reaction with nothing after means it was read and the content was not acted on.
These two lead to opposite investigations, and treating them as one symptom is why this fault takes so long to resolve.
If it is not read at all
Antenna position differs between models. A gesture that works on one phone can miss the coil entirely on another. Move the phone slowly across the tag before concluding anything.
Field strength differs too, so a weaker phone gives less working distance with every tag. This shows up first on small tags, which have the least margin.
The case is the other half. A case with a metal plate or a card in a wallet case stops reading regardless of the tag.
And check NFC is enabled on the failing device, which costs nothing and explains a surprising share of these reports.
If it is read and ignored
The two platforms do not act on the same set of record types, and iOS is the narrower of the two. A record that triggers an action on Android can be read and ignored on an iPhone.
Wi-Fi credentials are the clearest example: written to a tag they configure a network on Android and are not acted on the same way by an iPhone.
Two Android phones can split the same way. From Android 17, a tag holding a web link shows an open link notification before anything opens, where an earlier version opens the page directly, so the same tag looks inert on one until the notification is tapped.
Records pointing at an application do nothing on a phone where that application is not installed.
Read the tag and look at the record types, then check them against what the failing platform actually handles.
What this means for a deployment
Test on the narrowest platform and the oldest hardware you can find, because that combination is what sets the floor.
Prefer a web address over anything clever. It is the record type acted on most consistently across devices, and it moves the complexity to a page you control.
Give the tag a visible target so people aim rather than wave, which recovers more reliability across devices than any change to the tag.
And do not validate a public deployment on a single recent phone. It hides exactly the margin problem your visitors will meet.
Frequently asked questions
Is one platform worse at NFC?
They differ rather than rank. iOS acts on a narrower set of record types and behaves differently in the background, which is what most cross platform reports come down to.
Why does the same tag need a different gesture?
Because the coil sits in a different place and the field strength differs. Finding the antenna position on each model turns this into a solved problem.
Should I write different tags for different phones?
No. Write a web address, which works everywhere, and let the page adapt if it needs to.
My tag works on Android and does nothing on iPhone.
Check the record type first, since iOS acts on fewer types. If the iPhone shows no reaction at all, it is a reading problem rather than a content one.