Skip to content
Every Product Vetted
Guide

NFC Programmable Stickers (NTAG215): What They Are and What You Can Actually Build With Them

By Kindly Morrow||12 min read

NFC programmable stickers are small, passive tags you can write data to using a phone or reader, then tap any NFC-enabled device against them to trigger an action. The NTAG215 variant, made by NXP Semiconductors, has become the go-to choice for makers and home automation enthusiasts because it holds 504 bytes of user memory, is universally readable on both Android and iOS without a dedicated app, and costs almost nothing per tag. In 2026, with Home Assistant, ESPHome, and tools like the NFC Tools app mature and stable, these little stickers have become one of the fastest ways to add physical triggers to a digital workflow.

This guide covers exactly what NTAG215 stickers can do, what hardware and software you need to get started, and a set of real projects ranging from a one-tap home scene launcher to an ESP32-based NFC reader that fires MQTT messages. Whether you have never soldered anything or you deploy microcontrollers regularly, there is a practical entry point here.


What exactly is an NTAG215 sticker?

The NTAG215 is an ISO 14443-A compliant passive NFC tag operating at 13.56 MHz. "Passive" means it has no battery. It draws the tiny amount of power it needs from the electromagnetic field produced by the reader, which is your phone or an NFC module like the PN532. The chip sits on a thin copper or aluminum antenna coil, the whole assembly laminated into a sticker roughly the size of a coin, though form factors range from 25mm circles to credit-card-sized rectangles.

The NTAG215 is one step up from the more common NTAG213 (144 bytes) and one step below the NTAG216 (888 bytes). The 504 bytes of user memory is the sweet spot: large enough to store a full URL, a vCard, or a multi-action NFC Forum NDEF record, small enough to read in under 100 milliseconds. Nintendo popularized this chip through Amiibo figures, which is part of why it has unusually broad driver support across operating systems and microcontroller libraries.

Data is written in NDEF (NFC Data Exchange Format), a lightweight binary format with a defined structure for common content types: URLs, plain text, phone numbers, Wi-Fi credentials, and custom application records. You can also password-protect a tag so it can be read freely but requires a 4-byte password to overwrite.

What do you need to get started with NFC stickers?

The tags themselves

A pack of 20 to 50 NTAG215 stickers in 25mm or 30mm format is the right starting point. Look for tags with a white printable surface if you want to label them, or clear glossy if you are hiding them under a surface. Avoid unbranded tags that do not specify the chip model. Genuine NTAG215 tags have a 7-byte UID (unique identifier) and will report their memory correctly when scanned. [LINK: ntag215-sticker-pack]

A phone with NFC

Every Android phone since roughly 2012 with NFC support can read and write NTAG215 tags without any special app, though an app makes writing much easier. On iPhone, reading works natively since iOS 11, and background tag reading (no app open) has been available since iPhone XS running iOS 14. Writing to tags from iPhone requires an app; Apple's own NFC capability on iPhone is read-only at the OS level for background scanning, but apps like NFC Tools (by wakdev) get full read/write access through the CoreNFC framework.

Software for writing tags

  • NFC Tools (Android and iOS, free): The most reliable cross-platform option. Lets you write URLs, text, Wi-Fi credentials, custom records, and chain multiple records into one tag. The Pro add-on (a few dollars) adds task automation triggers for Android.
  • NFC TagWriter by NXP (Android, free): Made by the chip manufacturer. Supports advanced features like password protection and memory locking.
  • Home Assistant Companion App (Android and iOS): Can both write tags with a Home Assistant tag ID and scan them to fire automations directly.

Optional hardware for advanced projects

If you want an always-on NFC reader that does not require a phone, you need a microcontroller with an NFC module. The PN532 is the standard choice, available as a breakout board for around $7. It communicates over I2C, SPI, or UART and pairs well with both the ESP32 and Raspberry Pi. The Adafruit PN532 breakout is well-documented and works with the Adafruit_PN532 Arduino library out of the box. [LINK: pn532-nfc-module]


What can you actually do with NTAG215 stickers?

NFC stickers for home automation (Home Assistant and beyond)

This is where most people land first. The pattern is simple: tap a tag, trigger an automation. Home Assistant has native NFC tag support since version 2021.6. Here is the full flow:

  1. Open the Home Assistant Companion app on your phone.
  2. Go to Sidebar > NFC Tags > Add Tag. Give it a name like "Bedside Lamp Scene".
  3. Tap "Write" and hold your phone to a blank NTAG215 sticker. The app writes a Home Assistant-specific NDEF URI to the tag in the format https://www.home-assistant.io/tag/[UUID].
  4. Go to Settings > Automations and create a new automation. Set the trigger type to "Tag" and select your named tag.
  5. Add whatever actions you want: turn on lights, set a scene, start a media player, send a notification.

When you tap the tag with your phone (app installed, phone unlocked on Android or with the app open on iOS), the automation fires in under two seconds over your local network. No cloud dependency, no subscription.

Practical placements people use in 2026: inside the back cover of a notebook (tap to start a work focus scene), on a bedside table lamp (tap to run a bedtime routine), on a child's backpack hook (tap to trigger a "kids home" automation that unlocks a secondary door and sends a notification), and on a coffee machine (tap to start a morning routine across multiple devices).

NFC sticker projects with ESP32 and ESPHome

If you want a fixed reader that does not need a phone, an ESP32 paired with a PN532 and running ESPHome is a clean solution. ESPHome 2024.x added native PN532 NFC support that publishes tag UIDs and NDEF content as Home Assistant events automatically.

A basic ESPHome config for an NFC reader looks like this:

esphome:
  name: nfc-reader-desk

esp32:
  board: esp32dev

i2c:
  sda: GPIO21
  scl: GPIO22

nfc:
  - platform: pn532_i2c
    id: pn532_board
    on_tag:
      then:
        - homeassistant.tag_scanned: !lambda 'return x;'

Wire the PN532 to the ESP32 with SDA to GPIO21, SCL to GPIO22, VCC to 3.3V, and GND to GND. Set the PN532 I2C/SPI jumper to the I2C position (jumper 1 OFF, jumper 2 ON on most breakout boards). Flash the config, and the reader appears in Home Assistant as a device. Every tag scan fires a tag_scanned event that any automation can respond to.

A useful application: a small 3D-printed dish on your desk. Drop one of several tagged items (a keyring tag for "work mode", a different tag for "focus mode", a third for "off for the day") and the embedded reader fires the corresponding Home Assistant scene. No button, no app, no voice command.

NFC sticker projects for software developers

Developers often use NFC tags as physical bookmarks for development environments. Tap a tag on your monitor to open a specific localhost port, switch a terminal profile, or push a git branch. On Android, the Tasker app (with the NFC plugin) can run shell commands and HTTP requests on tag scan. On macOS and Linux, NFC USB readers (the ACR122U is common, around $30) expose as HID devices and can be scripted with Python using the nfcpy library.

A quick Python example using nfcpy to read a tag UID and fire a webhook:

import nfc
import requests

def on_connect(tag):
    uid = tag.identifier.hex()
    requests.post(f'http://homeassistant.local:8123/api/webhook/my-nfc-{uid}',
                  headers={'Authorization': 'Bearer YOUR_TOKEN'})
    return True

with nfc.ContactlessFrontend('usb') as clf:
    while True:
        clf.connect(rdwr={'on-connect': on_connect})

This runs on a Raspberry Pi or any Linux machine with a USB NFC reader. Each unique tag UID routes to a different webhook, so you can have a small stack of tags that each trigger a different development task without any phone involvement.

NFC stickers for Android and iOS shortcuts and quick settings

Outside of home automation, NFC tags work well as physical shortcuts for phone actions:

  • Android (via NFC Tools Pro or Tasker): Tap a tag to toggle Wi-Fi, connect to a specific Bluetooth device, launch an app, send a pre-written message, or set volume to a specific level.
  • iOS (via Shortcuts app): iPhone Shortcuts has had NFC trigger support since iOS 13. You assign a tag to a shortcut by name. Tap the tag (phone unlocked, or with the Shortcuts app open on older iPhones), and the shortcut runs. Common uses: log a workout, run a focus mode, send a location to a family member.

One underused iOS trick: you can write a URL to a tag that opens a specific Shortcuts deep link, making the trigger work even without assigning the tag in the Shortcuts app first. The format is shortcuts://run-shortcut?name=ShortcutName written as a URL NDEF record.


NTAG215 vs other NFC tag types: which should you buy?

Tag Type User Memory iOS Compatible Password Protection Best For Approx. Cost Each
NTAG213 144 bytes Yes Yes Simple URLs, short text $0.15-0.25
NTAG215 504 bytes Yes Yes General maker use, Home Assistant, vCards $0.30-0.50
NTAG216 888 bytes Yes Yes Large data, multi-record NDEF $0.40-0.65
MIFARE Classic 1K 752 bytes (usable) No (not CoreNFC compatible) Sector-based Access control, legacy systems $0.20-0.35
MIFARE Ultralight C 144 bytes Partial 3DES Transit, disposable tickets $0.25-0.40

MIFARE Classic tags are not readable by iPhone at all through CoreNFC, which rules them out for any project where iOS support matters. Stick with the NTAG21x series for anything that needs to work across both platforms.


Tips, gotchas, and things people get wrong

Metal surfaces kill NFC range

NFC tags placed directly on metal fail to read because the metal disrupts the antenna field. If you need to mount a tag on a metal surface (a laptop lid, a desk frame, a appliance), use "on-metal" NFC tags, which include a ferrite layer between the antenna and the adhesive that prevents this interference. They cost more (around $1-2 each) but work reliably at 1-3 cm range on steel and aluminum. [LINK: on-metal-nfc-tags]

Tag locking is permanent

The NTAG215 has a one-time programmable lock feature. Once you set the lock bits, the tag becomes read-only forever. There is no unlock. Do not lock a tag until you are certain the content is final. The NFC TagWriter app by NXP will warn you before locking, but some third-party apps do not.

504 bytes sounds like a lot until it isn't

NDEF has overhead: a message with a single URL record uses about 7 bytes of header plus the URL length. A full 100-character URL uses roughly 110 bytes total. Storing a vCard with name, two phone numbers, an email, and a website address uses around 300-350 bytes. You have comfortable headroom on NTAG215 for most single-purpose tags, but if you plan to store Wi-Fi credentials plus a URL plus a custom record in one tag, move to NTAG216.

iOS background tag reading requires a specific NDEF format

For an iPhone to read a tag in the background (screen on, no app open, no deliberate scan), the tag must contain a single NDEF record that is a well-formed URL beginning with https://. Tags with custom application records, plain text, or multiple records will not trigger background reading on iOS. They still work when you scan deliberately through an app, but they will not pop up automatically. This is an Apple constraint, not a tag limitation.

PN532 I2C address conflicts

The PN532 has a fixed I2C address of 0x24. If you have other I2C devices on the same bus at that address, you will get conflicts. Check your other devices before wiring. The PN532 also has a documented quirk: it occasionally fails to initialize on first power-up when using I2C. Adding a 100ms delay in your firmware before the first I2C transaction resolves this in most cases.

Write speed and phone positioning

Writing to an NTAG215 takes around 200-400ms depending on the phone's NFC controller. If you move the phone away too quickly during a write, you may get a partial write that corrupts the tag. Hold steady until the app confirms success. Most apps show a checkmark or vibrate once writing is complete.


A week-one project plan for new NFC makers

Day 1: Install NFC Tools on your phone. Write a URL to your first tag. Scan it. Watch the browser open. That's the whole loop working.

Day 2-3: Set up one Home Assistant NFC automation. Use the Companion app to write an HA tag to a sticker and place it somewhere you use daily. Run it for a few days to see if the tap-to-trigger pattern fits your habits.

Day 4-5: If you have an ESP32 and a PN532 sitting in a drawer, wire them up and flash the ESPHome config above. You now have a fixed reader. Place it somewhere a phone does not make sense, like a shared room where multiple people might want to trigger an action.

Day 6-7: Write a tag with password protection using NFC TagWriter. Try writing to it with a wrong password and confirm it rejects the write. This teaches you the security model before you rely on it for anything important.

The whole week costs under $20 in hardware if you start with a tag pack and already have an ESP32 and a phone with NFC. [LINK: nfc-starter-kit]

Frequently Asked Questions

What is the difference between NTAG213, NTAG215, and NTAG216 NFC stickers?

The main difference is memory capacity. NTAG213 holds 144 bytes of user data, NTAG215 holds 504 bytes, and NTAG216 holds 888 bytes. All three are ISO 14443-A compatible, work on both Android and iOS, and support password protection. NTAG215 is the most popular for general maker and home automation use because 504 bytes comfortably holds URLs, vCards, and multi-record NDEF messages without the higher cost of NTAG216.


Can NFC stickers work with iPhone without an app?

Yes, with one condition. iPhones from the XS model onward running iOS 14 or later can read NFC tags in the background without any app open, but only if the tag contains a single well-formed HTTPS URL as its NDEF record. Tags with plain text, custom records, or multiple records require an app like NFC Tools or Apple Shortcuts to scan. Writing to NFC tags from iPhone always requires an app since iOS does not expose tag writing at the background level.


How do NTAG215 stickers work with Home Assistant?

Home Assistant has native NFC tag support through its Companion mobile app. You create a tag in the Home Assistant interface, write it to a physical NTAG215 sticker using the Companion app, then build an automation triggered by that tag's UUID. When the tag is scanned by a phone with the Companion app installed, it fires the automation over your local network in about one to two seconds. You can also use an ESP32 paired with a PN532 NFC module running ESPHome to create a fixed reader that sends tag scan events to Home Assistant without any phone involvement.


Are NFC programmable stickers rewritable or one-time use?

NTAG215 stickers are rewritable by default. You can overwrite them as many times as you want using any NFC-capable phone or writer. The chip also has an optional one-time lock feature that permanently makes the tag read-only, but you must deliberately activate this. Unlocked tags can be rewritten hundreds of thousands of times according to NXP's datasheet, which specifies 100,000 write cycles minimum.


Do NFC stickers work on metal surfaces?

Standard NFC stickers do not work reliably when placed directly on metal. The metal surface disrupts the antenna's electromagnetic field and prevents the tag from powering up or communicating. For metal surfaces, use NFC tags specifically labeled as 'on-metal' tags, which include a ferrite isolation layer between the antenna coil and the adhesive backing. These cost more (roughly $1-2 each versus $0.30-0.50 for standard tags) but maintain a read range of 1-3 cm on steel and aluminum surfaces.

TJ

Written by Kindly Morrow

CTO and hardware tinkerer. Tests every product before it hits the store. Builds with ESP32, Home Assistant, and too many soldering irons.

Shop Related Products

NFC Programmable Stickers (NTAG215): What They Are and What You Can Actually Build With Them | Kindly Morrow