How to Read an NFC Tag

How to Read an NFC Tag

To read an NFC tag, you create an instance of NDEFReader and call its scan() method. This returns a promise that resolves when a scan is initiated. The 'reading' event is fired whenever a new NDEF message is read.

async function readNfcTag() {
  if (!('NDEFReader' in window)) {
    console.log('Web NFC is not supported by this browser.');
    return;
  }
  try {
    const reader = new NDEFReader();
    await reader.scan();
    console.log('Scan started successfully.');

    reader.onreading = event => {
      console.log('NDEF message read.');
      const { serialNumber } = event;
      const { records } = event.message;
      // Process the records here
      records.forEach(record => {
        console.log(`Record type:  ${record.recordType}`);
        console.log(`MIME type:    ${record.mediaType}`);
        console.log(`Record id:      ${record.id}`);
        // ... and so on
      });
    };
  } catch (error) {
    console.error('Error starting scan:', error);
  }
}
✏️ Edit this page on GitHub