THE CHART DESK · EXPLAINER

why hindu festival dates move every year

diwali isn't on the same date every year for the same reason easter isn't. it's tied to the moon, not the sun. here's what a tithi is, and why ur family's calendar might not match ur phone's.

every year, someone asks why diwali "moved." it didn't move. the calendar most of us check by default just isn't the one diwali is scheduled on.

diwali, holi, navratri, and most major hindu festivals are dated by tithi, a unit of the lunar calendar, not by a fixed day on the gregorian solar calendar. once u see how tithi works, the "moving" dates stop looking mysterious and start looking like exactly what they are: a different, older clock, running correctly.

THE QUICK CHECK

check any date's tithi

pick a date. we'll tell u the tithi and paksha running that day — no birth details needed, this one's the same for everyone on a given day.

This is a quick check, computed for noon IST on the chosen date. Tithi can change mid-day, so a date right at a tithi boundary may read differently depending on the exact hour.

the calendar u're actually using without knowing it

most of the world runs on the gregorian calendar, a solar calendar: 365ish days, tracking earth's orbit around the sun, with dates that repeat on the same day every year almost by definition. that's the calendar a phone shows by default.

Hindu festival dates are set on a different system entirely: the panchang, a lunisolar calendar that tracks the moon's motion, corrected periodically against the solar year. its basic unit of a "day" isn't a fixed 24 hours. it's a tithi, and a tithi is defined by angle, not by clock time.

what a tithi actually is

a tithi is the time it takes for the angular distance between the moon and the sun to increase by 12 degrees. there are 30 tithis in a full lunar month: 15 in the waxing half (shukla paksha, new moon to full moon) and 15 in the waning half (krishna paksha, full moon to new moon).

because the moon's speed around the earth isn't perfectly constant, a tithi isn't a fixed length. it can run anywhere from about 19 to about 26 hours. that's the detail most people never hear: a "lunar day" doesn't line up with a solar day, doesn't always last 24 hours, and can occasionally get skipped or repeated entirely within a single solar day depending on where the moon-sun angle lands at sunrise.

why that makes festival dates shift on the solar calendar

a solar year is about 365.24 days. twelve lunar months of alternating 29-30 day cycles add up to about 354 days, roughly 11 days short. that gap compounds every year: a festival tied to a specific tithi drifts earlier and earlier against the solar calendar, until the panchang inserts an extra leap month (adhik maas) roughly every 2-3 years to pull it back in line.

this is the same basic problem the hebrew and islamic-adjacent lunar calendars solve differently: gregorian ignores the moon completely, islamic calendars let dates drift freely with no correction, and the hindu panchang corrects periodically to stay roughly anchored to the seasons. three different answers to the same mismatch between 12 lunar months and 1 solar year.

amanta vs purnimanta: two ways to name the same month

on top of the tithi system, there's a second regional split: where a lunar month is considered to begin and end.

amanta ("ending at amavasya"): the month runs new moon to new moon. used across most of south india, maharashtra, gujarat, and bengal.

purnimanta ("ending at purnima"): the month runs full moon to full moon. traditionally used across much of north india.

the tithi itself, the actual lunar day, is identical everywhere in india on a given date. what differs is which calendar month that tithi gets filed under. the krishna paksha (waning half) that falls right after a full moon belongs to the tail end of one month under amanta, and to the start of the following month under purnimanta. same sky, same tithi, different label on the box.

this is exactly why a north indian panchang and a south indian panchang can name a festival's month differently while agreeing on the actual date within a day or two: they're using the same tithi system with a different month-boundary convention layered on top.

the receipt

the 12-degree tithi definition, the 30-tithi lunar month, the roughly 354-day lunar year, and the amanta/purnimanta regional split are all standard, well-documented features of the panchang system, not something we've simplified. the variable tithi length, sometimes under 20 hours, sometimes over 26, is a direct, unavoidable consequence of the moon's elliptical, non-uniform-speed orbit.

Ask Tota computes tithi from the same sun and moon positions used everywhere else in the app. and because tithi is the angular gap between the sun and moon, it's one of the few calculations here that doesn't depend on ayanamsa at all: sidereal and tropical astrologers agree on today's tithi even when they disagree on today's rashi.

faq

why don't hindu festivals fall on the same date every year?

because they're dated by tithi, a unit of the lunar calendar, not by the fixed 365-day solar calendar most digital calendars default to.

what is a tithi?

the time it takes for the angular distance between the moon and sun to increase by 12 degrees. there are 30 in a lunar month, and each one can run anywhere from about 19 to 26 hours.

what's the difference between amanta and purnimanta?

both are lunar month systems. amanta months run new moon to new moon and are used across south india, maharashtra, gujarat, and bengal. purnimanta months run full moon to full moon and are traditionally used across much of north india.

why do lunar calendars need a leap month?

twelve lunar months add up to about 354 days, roughly 11 days short of a solar year. an extra month, adhik maas, gets inserted every two to three years to keep festivals anchored to the same rough season.

does tithi depend on which ayanamsa an astrologer uses?

no. tithi is the angular gap between the sun and moon, and ayanamsa shifts both by the same amount, so it cancels out. tropical and sidereal astrologers agree on today's tithi.