A sankranti is the moment the Sun crosses from one sidereal rashi into the next. There are twelve a year, one per sign, and each is an instant rather than a day.
The calculator above gives all twelve for any year with their punya kala windows. It also shows something most festival listings get wrong: Makara Sankranti is not on a fixed date, and never was.
What is actually being measured
The Sun appears to travel once round the ecliptic in a year. The sidereal zodiac divides that circle into twelve arcs of 30°. A sankranti is the instant the Sun's longitude crosses one of those twelve boundaries.
That is all. No Moon, no lagna, no observer position. The instant is the same everywhere on Earth; only the local clock time differs, which is why the tool asks for a city.
The two best known are Makara Sankranti, the Sun's entry into Capricorn, and Mesha Sankranti, its entry into Aries, which marks the solar new year across several regional calendars and is celebrated as Baisakhi, Puthandu, Vishu, Bohag Bihu and Pohela Boishakh among others.
The dates are not evenly spaced
A first surprise from the table: consecutive sankrantis are not 30.44 days apart, as dividing a year by twelve would suggest. They run from about 29.5 days to about 31.5.
The reason is that the Earth's orbit is an ellipse. The Earth moves fastest at perihelion in early January and slowest at aphelion in early July, so the Sun's apparent motion along the ecliptic is fastest in January and slowest in July. A 30° arc therefore takes about 29.5 days in January and about 31.5 in July.
This is the same effect that makes the seasons unequal in length, and it means a solar month is genuinely a variable quantity. Any source giving a fixed interval between sankrantis has substituted an average for the thing itself.
Makara Sankranti is drifting, and here is the proof
Almost every festival page treats 14 January as fixed. It is not fixed. It is sliding, slowly, and the slide is measurable.
The table on this page computes Makara Sankranti across eight centuries using the same ingress search, not by looking anything up:
| Year | Makara Sankranti |
|---|---|
| 1500 | 7 January |
| 1700 | 10 January |
| 1900 | 13 January |
| 2000 | 14 January |
| 2100 | 15 January |
| 2300 | 18 January |
About one day every seventy years.
The two calendars are anchored to different things. The sidereal zodiac is fixed to the stars. The Gregorian calendar is fixed to the equinox, which drifts against the stars by about 50 arcseconds a year because the Earth's axis precesses.
Fifty arcseconds a year, at the Sun's roughly one degree per day, works out to about a day every seventy-two years. That is exactly the rate in the table, and it will not stop.
The awkward consequence
Makara Sankranti is still commonly described as marking the winter solstice, the day the Sun turns north and the days begin lengthening. That description was accurate once. It is now about three weeks out of date.
The December solstice currently falls around 21 December. Makara Sankranti falls around 14 January. The gap is the accumulated precession since the sidereal and tropical frames last agreed, which was around the fifth century.
Nothing is wrong with either the festival or the astronomy. What has happened is that a festival anchored to the stars has slowly separated from the seasonal event it originally coincided with. If the anchoring is left alone, Makara Sankranti will fall in February in about a thousand years, and in spring eventually.
This is a live disagreement in Indian calendrical reform rather than a settled matter. The argument for the sidereal anchor is continuity with the tradition and with every printed panchang. The argument for a tropical anchor is that the festival's meaning is seasonal, and a harvest festival that migrates through the seasons has lost the thing it was about. This page computes the sidereal date, which is what practice actually uses, and states the drift rather than hiding it.
Punya kala
Each sankranti carries a window around it treated as meritorious for bathing, giving and ritual, called the punya kala.
The most widely quoted width is sixteen ghatis either side of the ingress. A ghati is twenty-four minutes, so that is six hours and twenty-four minutes each way, a window of just under thirteen hours centred on the instant.
Other figures circulate. Some sources give forty ghatis, some make the window asymmetric depending on whether the ingress falls by day or by night, and some restrict Makara Sankranti's punya kala to the daylight hours following the ingress specifically. The tool uses the sixteen-ghati convention and says so, because there is no way to compute which tradition you follow.
A practical consequence of the ingress being an instant rather than a day: when a sankranti falls late at night, the punya kala can spill into the following calendar date, and different regions then observe the festival on different days. That is not an error by anybody. It is what happens when a moment is mapped onto a day.
The twelve names, and the calendars built on them
Each sankranti is named for the sign the Sun enters, so the twelve are Makara, Kumbha, Meena, Mesha, Vrishabha, Mithuna, Karka, Simha, Kanya, Tula, Vrischika and Dhanu.
Those twelve instants are the month boundaries of every Indian solar calendar. The Tamil, Malayalam, Bengali and Assamese calendars all begin their months at a sankranti, which is why their months stay locked to the seasons and do not drift the way lunar month names can within a year.
There is a subtlety that causes real confusion when comparing regional calendars. They agree on the instant and disagree on which day it belongs to. If a sankranti falls after sunset, the Tamil convention generally assigns the month to the next day, while the Malayalam convention uses a different cut-off, and Bengali practice another. Same astronomy, different day-boundary rule, different printed date.
So two calendars can differ by a day on a month's start without either being wrong, and the difference is not in the ephemeris at all. It is in what counts as the beginning of a day, which is the same class of question as the sunrise-to-sunrise convention this site applies everywhere else.
Why another site gives a different date
The ayanamsa, and here it matters a great deal. A sign boundary is an absolute sidereal longitude, and the Sun covers about a degree a day. Lahiri and Raman sit about 1.45° apart, so they give sankranti instants nearly a day and a half apart. That single choice will explain most disagreements you encounter.
The punya kala convention, as above.
Rounding an instant to a day. A sankranti at 23:40 belongs to one date; the observance may belong to the next.
Which time zone the instant is expressed in. The instant is universal; the date it falls on is not. A sankranti at 02:00 IST is the previous evening in London.
Sankranti and the lunar calendar
One point of confusion worth clearing up, since it produces a lot of crossed wires.
Sankrantis have nothing to do with the Moon. They are purely solar, and they are what makes the Indian solar calendars solar. The lunar calendar, with its tithis, pakshas and months named Chaitra, Vaishakha and so on, runs on a completely different mechanism based on the Moon's phase relative to the Sun.
The two are stitched together by the sankrantis. A lunar month is conventionally named for the solar month it begins in, which is how a lunar reckoning of about 354 days a year is kept from sliding through the seasons. When the mismatch accumulates far enough, an extra lunar month is inserted, the adhika masa, and the rule that decides when comes down to whether a lunar month contains a sankranti at all.
So these twelve instants are not just festival dates. They are the anchor points that keep the lunar calendar attached to the solar year, and the intercalation rule is stated in terms of them.
Reading the twelve
A few things worth noticing in the table beyond the two famous ones.
Every sankranti is a solar month boundary. The solar months of the Tamil, Malayalam, Bengali and Assamese calendars begin at these instants, which is why those calendars stay locked to the seasons while lunar month names drift within them.
Mesha Sankranti is the solar new year for a large part of India and beyond, and it currently falls around 14 April. It is drifting at the same rate as Makara, for the same reason.
Karka Sankranti, around 16 July, marks the start of Dakshinayana, the Sun's southward half. Makara marks Uttarayana, the northward half. Those two are the pair whose original meaning was solstitial, and both have separated from the actual solstices by the same three weeks.
Checking the drift for yourself
The precession figure and the table can be reconciled with a single division, which is worth doing because it turns a claimed pattern into a checked one.
Precession moves the equinox against the stars by about 50.3 arcseconds a year. The Sun moves along the ecliptic at roughly 1° a day, which is 3600 arcseconds a day.
So the drift per year, expressed in days, is 50.3 ÷ 3600, which is about 0.014 days. Invert it and you get one day per 71.5 years.
The table says Makara Sankranti moved from 7 January in 1500 to 18 January in 2300. That is 11 days over 800 years, or one day per 72.7 years. The two agree to within about two per cent, and the small residual comes from the Gregorian calendar's own leap-year structure and from precession not being perfectly constant.
That check matters more than it might seem. It confirms the drift is precession rather than an artefact of the ayanamsa model, because the rate falls out of a physical constant rather than out of anything this site chose.
What this page will not do
It will not tell you what to do during a punya kala.
What it computes is the instant the Sun's sidereal longitude crosses each 30° boundary, found by scanning day by day for the crossing and then bisecting to thirty seconds. Every one of those instants is checkable against any ephemeris, and the drift table was produced by running the identical search in 1500 and in 2300.
The one thing worth carrying away is that drift. A festival date that everyone treats as fixed has moved a full week since the Mughal period and will move another week by the twenty-fourth century. Knowing that does not make the date wrong; it makes it a measurement of something, rather than a number to be memorised.