Back to guides

Add a Calendar Event to an NFC Tag: The vCalendar Record

An NFC tag can prompt a phone to add a calendar event on tap, using the same iCalendar format your phone already reads. Here's what's actually in the record, how to write one with a consumer app, and the platform quirks that trip people up.

Published

Quick answer

Yes — an NFC tag can hold a calendar event, and tapping it can prompt a phone to add that event on the spot. The trick is a vCalendar (technically iCalendar) payload written to the tag as a record, the same way a custom NDEF record can carry a URL, plain text, or contact card instead of a webpage link. Title, time, location — it all travels with the tag. No server, no QR code, no typing.

Here's what's actually inside that record, how to write one without touching a line of code, and where the trick falls apart depending on which phone is doing the tapping.

Step-by-step: writing the vCalendar record

What the record actually contains

A calendar event on a tag is a VEVENT block, the same structure any .ics file uses. At minimum it needs a SUMMARY (the title), a DTSTART, and a DTEND. LOCATION and DESCRIPTION are optional but worth adding if you have the room. iCalendar itself is defined by RFC 5545, which replaced the older vCalendar (.vcs) format back in 2009 — that's why people still call this a "vCalendar record" even though the bytes on a modern tag are iCalendar.

There's no dedicated NFC Forum record type for calendar events. Instead, the payload rides as a generic MIME-type record: text/calendar as the type, the raw .ics text as the payload. It's the exact same mechanism a vCard business-card tag uses, just with a different MIME type and different text inside.

Writing it with a consumer app

You don't need to hand-build any of this. Apps like NFC Tools (iOS and Android) list a calendar-event record type right alongside text, URL, and contact records. Fill in a title, a date and time, a location — the app assembles the VEVENT block and writes it for you.

One practical note on tag size: a bare-bones event (title, start/end, no description) usually fits comfortably on an NTAG213. Add a longer description or location string and you'll want the extra headroom of an NTAG215 or NTAG216.

Common problems and fixes

Tap does nothing. Usually that's not a bad tag — it's a missing handler. When a phone taps a MIME-typed record, the OS looks for an app registered to open text/calendar files and hands it off. If nothing on the phone claims that MIME type, nothing visible happens. NFC itself makes no promise of an "open in Calendar" prompt.

Event opens with the wrong time. Write DTSTART/DTEND without a UTC "Z" suffix or a TZID, and the receiving calendar reads the digits as local time. Fine if everyone shares a time zone. Wrong the moment they don't.

iOS and Android behave differently. That's a real platform gap, not something you fix on the tag. Some default Calendar apps import a tapped text/calendar record cleanly; others quietly drop it. Want something more predictable on iPhone? An iOS Shortcuts NFC trigger that opens a calendar link beats relying on the raw MIME record.

Doing this on NFCore specifically

NFCore's writer includes a calendar-event record type in the same write menu as its other structured records, so you're not building the VEVENT block by hand — enter the event details once, write the tag.

It's the same idea as writing an NFC vCard business card: a standards-based payload riding on a MIME record, sourced from a form instead of typed bytes. Setting up a batch of these for an event or a recurring meeting room? NFCore is worth a look.

Frequently Asked Questions

What's the difference between vCalendar and iCalendar?

vCalendar (.vcs) was the original 1990s format; iCalendar (.ics, RFC 5545) replaced it and is what modern calendar apps actually read and write today. "vCalendar record" is still the common name for an NFC calendar-event tag, but the bytes written to the tag are iCalendar.

Will tapping the tag automatically add the event to my calendar?

Not always. The phone needs an app registered to handle a text/calendar MIME record. Most default Calendar apps on Android and iOS will offer to import it, but a phone with no matching handler installed won't do anything visible when tapped.

Do I need to code anything to write a calendar event to a tag?

No. Consumer apps like NFC Tools include a calendar-event record type in their write menu — fill in the title, date, time, and location, and the app builds the underlying record for you.

How much tag memory does a calendar event need?

A minimal event — title, start/end time, location — usually fits in a few hundred bytes as plain text. That's fine on an NTAG213 for a short event, but a longer description pushes you toward an NTAG215 or NTAG216 for the extra room.

Conclusion

A calendar-event NFC tag is just an iCalendar payload riding on a MIME record: easy to write with a consumer app, only as reliable as the handler installed on the tapping phone. Pair one with a physical spot where a one-tap reminder actually saves someone from missing something — a conference table, a recurring meeting-room door, a class schedule board.