MoonCal
  • How it works
  • Festivals
  • Date converter
MoonCal·A Chinese lunar birthday calendar for Apple Calendar, Google Calendar, Outlook, and Fastmail

Send us feedback

Bug, idea, or question — tell us what you think. We read every message.

How it worksFestivalsDate converterPrivacyTerms© 2026 MoonCal
MoonCal guides

What is a lunar leap month, and why most calendar apps get it wrong

Updated · 2026-05-19

The Chinese lunar calendar has twelve months of 29 or 30 days each. Twelve such months only add up to roughly 354 days — eleven days shorter than the solar year. Left alone, the seasons would drift through the calendar (Lunar New Year would slide into summer within a couple of decades). To stop the drift, the lunar calendar inserts an extra month every two to three years. That extra month is called a leap month, or rùnyuè (闰月).

In any nineteen-year window there are seven leap months — that's the Metonic cycle, the same arithmetic the Hebrew and Buddhist calendars use. The leap month is always a duplicate of the month before it: there's a regular fifth month, and then a leap fifth month directly after, before the regular sixth month begins.

Why this is a problem for calendar apps

Most calendar apps that say they support a lunar repeat actually only support a normal lunar month — they assume every month exists every year. That works fine for the vast majority of dates, but it breaks for people born in a leap month. Here's the worst case: someone born on the eighth day of the leap fifth month in 1990. Their actual lunar birthday only exists in years that also have a leap fifth month. Looking at the next few decades, those are 1990, 2009, 2028, 2047, 2066 — five times in seventy-six years.

So what should happen in 2026, when there is no leap fifth month at all? That's the question every lunar calendar tool has to answer, and most just silently pick a strategy without telling you.

The three reasonable strategies

There is no universally correct answer here — different families celebrate differently. MoonCal lets you pick one of three strategies when you create a lunar event in a leap month:

StrategyWhat MoonCal does in a year with no matching leap month
SkipNo event that year. The next occurrence will be the next leap-five-month year.
Use the same regular monthUse the regular fifth month, same day. This is the most common choice — many families celebrate on the regular month in non-leap years.
Use the previous monthUse the regular fourth month, same day. Less common, but used in some families.
If you're unsure, "Use the same regular month" is the safest default — it matches how most Chinese families informally celebrate a leap-month birthday in a non-leap year.

A concrete example: 1990 leap-five-month birthdays in 2026

Say someone was born on the eighth day of the leap fifth month in 1990 — that maps to 1990-06-30 on the Gregorian calendar. In 2026 there is no leap fifth month at all (the next leap month in 2026 is the leap sixth month, but the rules don't allow that as a substitute). With each MoonCal strategy:

  • Skip: no birthday event in 2026. The next celebration is 2028, which has a leap fifth month.
  • Use the same regular month: the event lands on lunar 5/8 in 2026, which maps to 2026-06-22.
  • Use the previous month: the event lands on lunar 4/8 in 2026, which maps to 2026-05-24.

All three are arithmetically valid. Pick the one that matches what your family actually does.

How widely-used calendar apps handle this

Without naming names, here's what we've observed when testing major calendar apps and ICS feed providers:

  • Some apps silently drop the leap-month event entirely and never tell the user — equivalent to the "Skip" strategy, but presented as a generic bug.
  • Some apps treat the leap month as if it were the regular month with the same number, with no warning — equivalent to "Use the same regular month" but inconsistent year to year.
  • A few apps will simply fail to add the event at all when you tick a leap-month checkbox in a non-leap-month year.
  • Almost none let you choose which fallback strategy to use, which means migrating between apps can silently change which date the birthday lands on.

This is the kind of detail that doesn't matter for 95% of users — but if you or someone you love is in that 5%, it's the difference between a birthday that quietly disappears and one that lands on the day your family actually celebrates.

How MoonCal handles it

  • Every lunar event with the "leap month" flag asks you to pick a strategy at creation time. You can change it later by editing the event.
  • For each of the next 20 years, MoonCal applies your strategy and writes the resulting Gregorian date into the ICS feed.
  • If you picked Skip and a particular year has no leap fifth month, the ICS feed simply has no event that year — your calendar app stays quiet that year, just like a lunar leap month would in real life.
  • The underlying calculation uses lunar-typescript, a well-tested library with conversions verified through 2200.

Set up a leap-month birthday correctly

MoonCal is one of the few calendar tools that lets you pick how leap months are handled per event. Create a calendar, add the event, pick your strategy — the next twenty years are sorted.

Create my calendar — free

Related guides

How to add a lunar birthday to Apple Calendar (macOS + iOS)

Apple Calendar has no built-in support for lunar dates, but you can add a lunar birthday in two minutes using an ICS subscription. Step-by-step for macOS and iPhone, with age labels and reminders that actually work.

Read guide

How to add a Chinese lunar birthday to Google Calendar

Google Calendar repeats events on the Gregorian calendar, so a lunar birthday set as a yearly repeat drifts wrong every year. Here's how to add one correctly with an ICS subscription that updates automatically — step-by-step for desktop and mobile.

Read guide

Chinese lunar birthday reminder for your family

Parents and grandparents often celebrate by the Chinese lunar calendar, and those birthdays are easy to forget because they move every year. Here's how to set up a reminder in the calendar app you already use — once, for good.

Read guide