If you’ve ever tried to set a recurring reminder for a grandmother’s lunar birthday in Google Calendar, you’ve probably noticed the same problem: the standard “repeat every year” option fires on the same Gregorian date forever, but the lunar birthday actually drifts about 11 days earlier on the Gregorian calendar each year, with a 19-day reset whenever a leap month appears in the lunisolar cycle. Major calendar apps haven’t added native lunar recurrence yet — Google’s user community has been requesting it for years — so families that want to track lunar birthdays end up with one of four workarounds. The lowest-maintenance one takes about ten minutes to set up and covers 60 years.
Why standard recurring events don’t work for lunar dates
The recurring-event engine in Google Calendar, iPhone Calendar, and Outlook all share the same underlying limitation: their recurrence rules (RRULE in iCalendar specification) operate on the Gregorian calendar. There’s a BYMONTH and BYMONTHDAY directive but no equivalent for lunar months. A “repeat yearly on May 12” rule fires on May 12 every year, regardless of what the lunar calendar says May 12 corresponds to in any given year.
This isn’t a Google or Apple oversight per se — the iCalendar standard itself doesn’t define lunisolar recurrence rules. Multiple Calendar Community threads (example) document the request going back to at least 2019, and the responses confirm there’s no native support and no announced timeline. The workarounds below all sidestep the limitation rather than fixing it.
Setup 1 — iPhone Calendar with iOS 26 alternate lunar display
iOS 26 added an “Alternate Calendars” setting under Settings → Calendar → Alternate Calendars. Selecting “Chinese” displays the lunar date as a small secondary label next to each Gregorian date in the calendar grid. This is a display feature, not a recurrence feature — it tells you that today is the 12th day of the 5th lunar month, but it doesn’t fire reminders on lunar dates.
To actually receive a notification for a lunar birthday using iPhone Calendar alone, the working approach is to convert the lunar date to its Gregorian equivalent for each of the next 5–10 years and enter each year as a separate event. The alternate calendar display then complements the entries by showing the matching lunar date when you scroll through upcoming dates, which makes the entries easier to verify and gives you a visual heads-up about a month before each occurrence.
Setup 2 — Google Calendar with alternate calendar + manual entries
Google Calendar offers the same alternate-calendar feature: Settings → General → Alternate calendar, with options for “Chinese (lunar)”, “Korean”, “Hijri (Arabic)”, and a few others. The setting toggles a secondary date display in the grid. Like iPhone, Google still doesn’t support lunar recurrence, so the actual reminder mechanism is manual entries.
The procedure for both Google Calendar and iPhone Calendar is the same:
- Look up the Gregorian date for the lunar birthday in each of the next 5–10 years using a lunar-to-Gregorian converter.
- Enter each year as a separate event with the same title (e.g., “Mom’s birthday — lunar 5/12”). Set the alarm to fire 1 day before and on the day, both at 9:00 AM if you want a two-step reminder.
- Add a calendar reminder to your own calendar to re-run the conversion 5 years from now, so you don’t end up with the calendar going silent in 2031 because you only entered through 2030.
The 30 minutes spent in step 2 cover the next decade. Combined with the alternate calendar display from step 0, you get a system that fires reminders on the right Gregorian date and shows the corresponding lunar date in the grid for verification.
Setup 3 — ICS file import (the lowest-maintenance option)
If you’re comfortable using a third-party tool with the lunar date and a name, an ICS file generator can produce 60 years of Gregorian dates in one pass. Tools like Lunar-Calendar-Reminder on GitHub accept a lunar date and event title, then output a downloadable .ics file containing all 60 years of corresponding Gregorian dates as separate events.
The import flow:
- Generate the .ics file with the third-party tool — input the lunar month/day and an event title.
- Import to Google Calendar via Settings → Import & Export → Import. Upload the .ics file and select the target calendar.
- Import to iPhone Calendar by emailing the .ics file to yourself, opening the attachment, and choosing “Add to Calendar.”
- Import to Outlook via File → Open & Export → Import → Import an iCalendar (.ics) file. The events sync to Outlook on iPhone and Android automatically.
One upload, 60 years of events, no further maintenance until 2086. The trade-off is sending the lunar date and event name to a third-party server, which some families won’t want for parents’ or grandparents’ birthdays. Reading the tool’s privacy practices before uploading is worth the five minutes.
Setup 4 — Spreadsheet + bulk import (the privacy-conscious version)
If you want the speed of bulk import but the data-locality of manual entry, the middle path is to use a lunar conversion tool to populate a spreadsheet with 10 years of Gregorian dates, save it as a CSV, and import the CSV into Google Calendar.
- Open a spreadsheet with columns: Subject, Start Date, Start Time, End Date, End Time, All Day Event.
- Use a lunar conversion tool to look up the Gregorian date for the lunar birthday in each year 2026–2035, and fill the rows.
- Save as CSV with the field names Google expects (the Google Calendar import format lists them).
- Import the CSV via Settings → Import & Export → Import.
This avoids sending data to any third-party tool — the conversion happens locally in your spreadsheet, and Google Calendar imports your CSV directly. The downside is the manual data entry compared to a one-click ICS generator, but for 10 years of one or two birthdays, it’s a 20-minute task.
Comparison of the four setups
| Setup | Initial time | Years covered | Maintenance | Privacy | Best for |
|---|---|---|---|---|---|
| iPhone Calendar manual entries | 30 min | 5–10 | Re-enter every 5–10 years | Local only | iPhone-first users |
| Google Calendar manual entries | 30 min | 5–10 | Re-enter every 5–10 years | Local only | Android/web users |
| ICS file import | 5–10 min | 60 | Once per lifetime | Sends data to third-party tool | Multi-app users |
| CSV bulk import | 20 min | 10 | Re-import every 10 years | Local only | Privacy-conscious bulk users |
The ICS approach is fastest but trades data privacy for speed. Manual entries take longer but keep all data local. The right choice depends on whether you trust the third-party converter and how often you’re willing to revisit the setup.
Handling leap-month birthdays
Lunar leap months are extra months inserted roughly every 2–3 years to keep the lunar calendar synchronized with the seasons (the 19-year Metonic cycle). Most lunar dates exist in the regular calendar every year, but a person born during a leap month — say, leap 5th month — has a “real” birthday only in the years when a leap 5th month exists.
The convention varies by family:
- Always celebrate on the regular month (most common): The leap-5/12 baby celebrates on regular 5/12 every year, and the actual leap-5/12 birthday is treated as a once-in-a-while bonus when it occurs.
- Always celebrate on the leap month when it exists, regular month otherwise: The leap-5/12 birthday is celebrated on regular 5/12 in non-leap-5 years and on actual leap 5/12 when one occurs.
- Move to the previous month: Some families shift to 4/12 for that person.
Confirm the family convention before populating multi-year reminders, then apply it consistently. Most lunar conversion tools default to “use the regular month if leap month doesn’t exist that year,” which matches the first convention above.
Use a converter for the lookup, then pick a setup
Whichever of the four setups you choose, the lookup step is the same: convert a lunar date to its Gregorian equivalent for each year you want to register. The PiPi Worlds lunar calendar converter handles solar↔lunar conversion across 1900–2100, surfaces the year/month/day sexagenary cycle, and shows a dual-calendar grid where lunar and Gregorian dates appear side by side. For lunar 5/12, you’d see 2026 → June 26, 2027 → June 16, 2028 → July 4 (after a leap 5th month resets the drift), and so on.
Pulling 5–10 years’ worth of dates takes a minute, and from there the setup of choice is just data entry into the calendar app. Once that’s done, the lunar 11-day drift is the calendar app’s problem, not yours.
What you actually own when the setup is done
A working lunar-birthday reminder system is essentially a one-time data-entry task that pays back over the next decade. The recurring-event engines in Google Calendar, iPhone Calendar, and Outlook can’t do lunar recurrence natively, but the workarounds — alternate calendar display plus 5–10 years of manual entries, or a single ICS bulk import that covers 60 years — both produce the same end result: a notification on the right Gregorian date every year, plus the lunar date visible in the grid for confirmation. The annual “what date is it this year?” lookup, repeated for a parent’s or grandparent’s lunar birthday, becomes a 10-minute setup followed by a decade of automatic reminders.