Device Access

Web NFC

Probing…

Web NFC is a web platform capability in the Device Access category. Read and write NFC tags (Android only). Supported in Chromium 89+; not available in Firefox and Safari. Requires a secure context (HTTPS or localhost) and a user gesture such as a click or tap.

Secure contextUser gesture

Try it

Loading demo…

Code

const reader = new NDEFReader()
const controller = new AbortController()
await reader.scan({ signal: controller.signal })

reader.addEventListener('reading', ({ serialNumber, message }) => {
  console.log('serial', serialNumber)
  for (const record of message.records) {
    const text = new TextDecoder(record.encoding).decode(record.data)
    console.log(record.recordType, text)
  }
})

Browser support

Chromium
89
Firefox
No
Safari
No

Frequently asked questions

Which browsers support Web NFC?

Supported in Chromium 89+; not available in Firefox and Safari.

Does Web NFC require HTTPS?

Yes. Web NFC needs a secure context, so it only works over HTTPS (or on localhost during development).

What is Web NFC used for?

Read and write NFC tags (Android only).

Can I try Web NFC in my browser?

Yes. shwcs.net runs a live Web NFC demo that probes your current browser and lets you try the API. Everything runs locally — nothing is sent anywhere.

MDN reference ↗ Specification ↗