Can You Change What an NFC Tag Does After Writing It?
You can change what an NFC tag does by writing a new message, unless the tag has been locked. Locking is one-way, so test before you lock.
Yes. If the tag isn't locked, you can write a new NDEF message over the old one and the tag will do something different the next time it's tapped. If it is locked, the content is stuck for good. The rest of this guide shows how to tell which case you're in and what to do about it.
Quick answer
On an unlocked tag, rewriting is routine. Android's Ndef class has a writeNdefMessage method that, in the docs' words, will "overwrite the NdefMessage on this tag". You don't erase first and you don't need a special tool. The new message replaces the old one.
The catch is the lock. NFC Forum tags can be in a read-only or a read-write state, and the same documentation says makeReadOnly sets the capability container (CC) field to read-only and, where possible, permanently sets the lock bits. It calls this "a one-way process" that cannot be reverted. So the real question isn't "can I change it?" It's "did I, or someone else, lock it?"
Step-by-step
1. Check whether the tag is writable
Scan the tag with a reader that reports its state. Android exposes this as isWritable(). Any reader app that shows a read-only flag is doing the same check. If you're unsure what you're seeing, our guide on how to check whether a tag is locked walks through it.
2. Check that the new content fits
Every tag has a fixed memory. Android reports the maximum NDEF message size in bytes through getMaxSize(). A short URL fits almost anywhere. A Wi-Fi record or a vCard needs more room. WakdevNFC's troubleshooting page puts it plainly: make sure the tag has enough memory for the data you want to write.
3. Write the new message
Pick the new record (URL, text, Wi-Fi, contact), hold the phone to the tag, and write. The old message is overwritten. If you'd rather start from a blank tag, you can erase and reformat a tag first, but it isn't required for a normal rewrite.
Common problems and fixes
The tag is locked
A locked tag refuses writes. WakdevNFC says it directly: if the tag is locked, "you won't be able to write on it". On iOS, Core NFC's writeLock changes the tag's NDEF status to read-only and prevents future writes. Some locks may be softer than others, but Android's docs say the permanent kind can't be undone. Treat a locked tag as finished and grab a new one.
That's also the reason to lock last. Write, scan it on both an iPhone and an Android phone, run the automation it triggers, and only then lock it, if you need to at all. A tag in a public place, such as a poster or a table sticker, is the main case where locking makes sense, because it stops other people from overwriting it.
The write fails for another reason
Locking isn't the only culprit. The message may be too big for the chip, or your phone may not support the tag's technology. WakdevNFC suggests checking that your device is compatible with the tag technology. Protected cards like access, payment and transit cards are a separate matter: they're built so you can't read, write or copy them freely, and this guide doesn't cover them. Our article on write errors and what each one means helps you tell a locked tag from a tag that simply moved out of range.
You expect to change it often
If the destination will keep changing, such as a menu, a campaign page or a link in a printed sticker, don't rewrite the tag each time. Put a redirect URL on the tag once and change where the redirect points.
Doing this on NFCore specifically
NFCore reads and writes NFC tags on iOS and Android, with no account and nothing uploaded to a cloud. Read the tag first to see what's on it, then write the new record over it. One iOS caveat: Core NFC can write NDEF, but it doesn't offer everything Android's tag stack does. Get NFCore from the App Store or Google Play.
Frequently Asked Questions
Can I change an NFC tag after writing it?
Yes, as long as the tag isn't locked. Writing a new NDEF message replaces the old one, provided it fits the tag's memory.
Can a locked NFC tag be unlocked?
Not when the lock is permanent. Android's documentation describes makeReadOnly as a one-way process that cannot be reverted, so plan on using a fresh tag.
Do I need to erase the tag before writing again?
No. A new write overwrites the existing message. Erasing and reformatting is optional if you want a clean start.
How can I change what a tag does without touching it again?
Write a redirect URL to the tag once. After that you change the destination on the redirect, and the tag itself stays as it is.