NDEFRecord: NDEFRecord() constructor

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The NDEFRecord() constructor of the Web NFC API returns a newly constructed NDEFRecord object that represents data that can be read from, or written to, compatible NFC devices; e.g. NFC tags supporting NDEF.


new NDEFRecord(options)



An object with the following properties:

data Optional

Contains the data to be transmitted. It can be a string, an ArrayBuffer, a TypedArray, a DataView, or an array of nested records.

encoding Optional

A string specifying the record's encoding.

id Optional

A developer-defined identifier for the record.

lang Optional

A valid language tag according to RFC 5646: Tags for Identifying Languages (also known as BCP 47).

mediaType Optional

A valid MIME type.


A string indicating the type of data stored in data. It must be one of the following values:


An absolute URL to the data.


An empty NDEFRecord.


A valid MIME type.


A smart poster as defined by the NDEF-SMARTPOSTER specification.


Text as defined by the NDEF-TEXT specification.


The record type is not known.


A URL as defined by the NDEF-URI specification.

Return value

A new NDEFRecord.


# dom-ndefrecord-constructor

Browser compatibility

BCD tables only load in the browser