NFC tag generator and writer
A link, Wi-Fi, contact card, phone or text → an NDEF message with a tag capacity check and a preview of what a person will see. In Chrome on Android the tool writes and reads the tag itself; on other devices you get a .bin file, HEX and a link to open it on a phone.
Free, no sign-up
The message is built in your browser; records and passwords are not sent to a server (a request can carry only a short summary without passwords, if you attach it). Records are kept only in this browser, and Wi-Fi passwords only if you turn that on yourself.
This browser cannot write NFC tags directly — below are a file and HEX for a writer app and a link to open the tool on Android.
Message records
17 BA phone acts on the first record, so make it the main one. Reorder by dragging or with the arrows.
- 17 B
Record 1: Link
How to write a tag from this device
Web NFC works in Chrome 89+ on Android phones with NFC. On iPhone, in Safari, Firefox and on computers websites cannot write tags — it is a browser limitation.
- Open this page on an Android phone in Chrome — with the QR code below — and build the records there (or move them with the JSON file).
- Or download the .bin / copy the HEX and write it with a writer app (for example, NXP TagWriter or NFC Tools) if it can import data.
- On iPhone without Web NFC: create the same record in a writer app using the fields on the left; iPhone 7 and newer can write tags through apps.
Open on a phone
The QR code holds only this page's address — none of your records or passwords.
How the tool works
Records
Add one or more records and order them: the phone acts on the first one. Field errors show immediately, and each record's size is shown in bytes.
NDEF message
Records are encoded per NFC Forum NDEF 1.0: MB/ME/SR/IL flags, TNF, type and payload; links are shortened with a prefix code. The bytes are shown with highlighted fields, and you can view them wrapped in a TLV as they sit in NTAG memory.
Capacity
The meter shows how much the message takes in the selected tag including overhead bytes, and suggests a bigger tag if it does not fit.
Write and read
In Chrome on Android — the “Write” button (optionally locking after a double confirmation) and “Read”: serial number, parsed records and bytes. On other devices — .bin, HEX, JSON and a QR code linking to this page.
Link
- NDEF layout
- TNF 1, “U” — URI RTD, prefix compressed to a code
Text
- NDEF layout
- TNF 1, “T” — Text RTD, UTF-8 + language code
Wi-Fi
- NDEF layout
- TNF 2, application/vnd.wfa.wsc — Wi-Fi Simple Configuration
Contact
- NDEF layout
- TNF 2, text/vcard — vCard 3.0
Phone
- NDEF layout
- TNF 1, “U”, tel: (code 0x05)
- NDEF layout
- TNF 1, “U”, mailto: (code 0x06)
SMS
- NDEF layout
- TNF 1, “U”, sms: (RFC 5724)
Location
- NDEF layout
- TNF 1, “U”, geo: (RFC 5870)
Android app
- NDEF layout
- TNF 4, android.com:pkg — Android Application Record
MIME data
- NDEF layout
- TNF 2, a custom RFC 2046 type
Standards
- NFC Forum NDEF 1.0 — the message and record format (flags, TNF, short and long records, chunks when reading).
- NFC Forum URI RTD 1.0 and Text RTD 1.0 — links with a prefix code and text with a language code (UTF-8).
- Wi-Fi Alliance Wi-Fi Simple Configuration — network credentials in an application/vnd.wfa.wsc record (Version, Credential, WFA Vendor Extension with Version2).
- vCard 3.0 (RFC 2426) — a contact card as a text/vcard record; tel (RFC 3966), mailto (RFC 6068), sms (RFC 5724), geo (RFC 5870).
- Android Application Record (android.com:pkg) — launches the app or its Google Play page.
- NFC Forum Type 2 Tag — NDEF TLV (0x03, a 1- or 3-byte length, terminator 0xFE); Type 4 — an NDEF file with a two-byte length.
0x01–0x06
- Prefixes
- 0x01 http://www. · 0x02 https://www. · 0x03 http:// · 0x04 https:// · 0x05 tel: · 0x06 mailto:
0x07–0x0C
- Prefixes
- 0x07 ftp://anonymous:anonymous@ · 0x08 ftp://ftp. · 0x09 ftps:// · 0x0A sftp:// · 0x0B smb:// · 0x0C nfs://
0x0D–0x12
- Prefixes
- 0x0D ftp:// · 0x0E dav:// · 0x0F news: · 0x10 telnet:// · 0x11 imap: · 0x12 rtsp://
0x13–0x18
- Prefixes
- 0x13 urn: · 0x14 pop: · 0x15 sip: · 0x16 sips: · 0x17 tftp: · 0x18 btspp://
0x19–0x1E
- Prefixes
- 0x19 btl2cap:// · 0x1A btgoep:// · 0x1B tcpobex:// · 0x1C irdaobex:// · 0x1D file:// · 0x1E urn:epc:id:
0x1F–0x23
- Prefixes
- 0x1F urn:epc:tag: · 0x20 urn:epc:pat: · 0x21 urn:epc:raw: · 0x22 urn:epc: · 0x23 urn:nfc:
WPA2-Personal
- Authentication Type
- 0x0020 — WPA2-Personal
- Encryption Type
- 0x0008 — AES
WPA2/WPA3 (transition)
- Authentication Type
- 0x0020 — WPA2-Personal
- Encryption Type
- 0x0008 — AES
WPA/WPA2
- Authentication Type
- 0x0022 — WPA-Personal + WPA2-Personal
- Encryption Type
- 0x000c — TKIP + AES
Open
- Authentication Type
- 0x0001 — Open
- Encryption Type
- 0x0001 — None
Tag capacity
“NDEF area” is the tag's user memory for data. “Max message” already accounts for overhead: a TLV header and terminator on Type 2, Type 5 and MIFARE Classic, and two file-length bytes on Type 4. The table is generated from the same code as the meter.
NTAG213
- NFC Forum type
- Type 2
- NDEF area
- 144 B
- Max message
- 141 B
NTAG215
- NFC Forum type
- Type 2
- NDEF area
- 504 B
- Max message
- 499 B
NTAG216
- NFC Forum type
- Type 2
- NDEF area
- 888 B
- Max message
- 883 B
NTAG210
- NFC Forum type
- Type 2
- NDEF area
- 48 B
- Max message
- 45 B
NTAG212
- NFC Forum type
- Type 2
- NDEF area
- 128 B
- Max message
- 125 B
MIFARE Ultralight / EV1 (MF0UL11)
- NFC Forum type
- Type 2
- NDEF area
- 48 B
- Max message
- 45 B
MIFARE Ultralight EV1 (MF0UL21)
- NFC Forum type
- Type 2
- NDEF area
- 128 B
- Max message
- 125 B
MIFARE Ultralight C
- NFC Forum type
- Type 2
- NDEF area
- 144 B
- Max message
- 141 B
NTAG I²C plus 2k
- NFC Forum type
- Type 2
- NDEF area
- 1912 B
- Max message
- 1907 B
NTAG 424 DNA
- NFC Forum type
- Type 4
- NDEF area
- 256 B
- Max message
- 254 B
ICODE SLIX
- NFC Forum type
- Type 5
- NDEF area
- 108 B
- Max message
- 105 B
MIFARE Classic 1K (NXP-chip phones only)
- NFC Forum type
- MIFARE Classic
- NDEF area
- 720 B
- Max message
- 715 B
MIFARE Classic 4K (NXP-chip phones only)
- NFC Forum type
- MIFARE Classic
- NDEF area
- 3360 B
- Max message
- 3355 B
Browser support
- Writing and reading tags (Web NFC) — Chrome 89 and newer on Android phones with NFC, only on https pages and in a visible tab. Read-only locking needs Chrome 100+.
- iPhone, Safari, Firefox and desktop browsers do not support Web NFC: the tool builds the same message and gives you .bin, HEX and JSON for a writer app, and a QR code opens this page on an Android phone.
- MIFARE Classic is read and written only by phones with an NXP NFC chip; other Android phones cannot open such a tag.
- iPhone XS and newer open tags with links, phone numbers, email and SMS in the background; iPhone does not handle Wi-Fi, contact cards or text without an app.
- You cannot write to another phone: a phone is not an NFC tag. Android stopped accepting NFC data from other phones in Android 10 (Android Beam), and iPhones never did. You need a tag — a sticker, key fob or card (NTAG213/215/216); to pass the same link, Wi-Fi or contact card to a phone, use the “Send to another phone” block — it shows a QR code.
Limitations
- Capacity follows typical datasheets: tags from other vendors and reformatted tags may have a different NDEF area.
- When reading, the browser hands over parsed records, not raw tag memory: the bytes on screen are rebuilt per NDEF and may differ from the originals (for example, in link prefix abbreviation).
- Locking a tag is irreversible — neither this tool nor any app can undo it.
- One message holds up to 12 records. The Wi-Fi password never goes into the JSON file; enter it again after a JSON import.
- The password on a tag is stored as plain text: anyone who taps the tag with a phone can read it — use a guest network in public places.
Privacy
- The message is built and written to the tag right in your browser: records, passwords and read data are not sent to a server. Only a short summary — record types, size, tag model and mode, without Wi-Fi passwords, network names or contact card contents — may go with a request.
- Records are stored in this browser's localStorage; Wi-Fi passwords only when “Remember Wi-Fi passwords in this browser” is on (it is off by default). “Clear all” deletes everything.
- The “Open on a phone” QR code holds only this page's address — none of your records or passwords.
- Analytics receives only the fact of a write, read or export and its format — no content.
- The result reaches us only if you send a request yourself and keep the “Attach the result” box ticked — the form shows exactly what will be sent. Files and images are never sent with a request.
Related tools
All tools · 40
QR code generatorA link with UTM tags, Wi-Fi, contact card, email, phone, SMS, place or event → a QR code with your colours, shapes and logo, a readability and print-size check. SVG, PNG and a ZIP batch.
Barcode generator and scannerEAN-13, EAN-8, UPC-A and Code 128 with check digits and a self-check, printable label sheets, recognition with the camera and from photos.
Document scannerShoot a page or upload a photo: edges are found automatically, perspective and shadows are corrected and pages are combined into one PDF. All on your device.
Password and passphrase generatorPasswords, passphrases from English or Russian words, PINs and patterns from a cryptographic generator, exact entropy and crack times, and a check of your own password for common weaknesses.
WireGuard config generatorA website cannot be a VPN — but here you build a real WireGuard setup for your server: X25519 keys, wg0.conf with NAT, a .conf and QR code per phone and laptop, subnet and route checks, a ZIP and setup steps. Keys never leave your browser.
SSH key generatorEd25519 and ECDSA P-256 in OpenSSH format with a passphrase (like ssh-keygen), SHA256/MD5 fingerprints and randomart, restricted authorized_keys, ~/.ssh/config and an inspector for any public key. Keys are generated on your device.Need an app or system that works with tags?
InterLAB builds software for business tasks: inventory, access passes, loyalty programmes, tap-to-phone services. The first short conversation about the task is free.
- The first short conversation is free — we choose the format
- NDA — yours or ours
- Pricing after a brief and an agreed scope