Lunar holidays

Moon-sighting holidays: why the date moves

Eid is not late. The Gregorian calendar is the one that slips. A lunar year is about eleven days shorter than a solar year, so the same Hijri date walks backward through the civil months. Governments that wait for a moon sighting add a second kind of movement: the date can shift by a day after you have already printed a wall calendar.

By Collins Odeny. Last updated: 19 October 2026.

Two clocks, and why both can be honest

The Hijri calendar counts months from the new crescent. Twelve of those months are shorter than twelve Gregorian months. That is why Ramadan, and the Eid that ends it, arrives earlier each civil year. On this site, Kenya’s listed Eid al-Fitr is Friday 20 March 2026, Tuesday 9 March 2027, and Saturday 26 February 2028. The holiday did not jump randomly. The solar calendar took eleven-day steps past it.

A calculated Islamic calendar can name those civil dates months in advance. A moon-sighting process cannot. Committees look for the crescent at the end of Ramadan or at the start of Dhul-Hijjah, then a government office publishes the public-holiday date. Kenya does this through a Cabinet Secretary notice in the Kenya Gazette. Nigeria’s federal days typically arrive as an Interior announcement. Other countries use a moon-sighting committee, a fatwa council, or a calculated table.

Africa Calendar is not a moon-sighting committee. The holiday list this project uses calculates dates for future years, then I overwrite a date when a gazette notice exists. That is why 2026 Kenya Eid dates are labelled gazetted, and why 2027 and 2028 dates stay estimates. I will not pretend a calculated Tuesday is already a paid Monday.

What “gazetted” means on the 2026 Kenya dates

This project records Eid al-Fitr on Friday 20 March 2026 as gazetted, with a notice published on 18 March 2026. Eid al-Adha on Wednesday 27 May 2026 is recorded as gazetted on 25 May 2026. Those two-day gaps are typical. They are also why a January wall calendar that locked “Eid = 21 March” would have been wrong by a day.

I publish the gazetted date on the Kenya 2026 hub and in /feeds/ke-2026.ics after I have the notice. Phones that already subscribed pick up the correction when the feed refreshes. Paper that already went to the printer does not. That is the cost of printing before the crescent.

Confirm notices on Kenya Law if you need the official text. I am not the Gazette. If a later corrigendum moves a date, the Gazette still wins and I will follow it on the holiday list.

Nigeria and South Africa are not Kenya with different flags

Nigeria’s federal list on this site uses the spellings Id el Fitr and Id el Kabir. For 2026 Id el Fitr is Thursday 19 March and Friday 20 March, and Id el Kabir is Wednesday 27 May and Thursday 28 May. Kenya’s gazetted pair that year is Friday 20 March and Wednesday 27 May. That neighbourhood is a fact about these lists, not a law of nature. A state can still add another day. I will not copy Kenya’s Gazette language onto an Abuja circular.

South Africa’s public-holiday set on this site is built around the Public Holidays Act commemorations: Human Rights Day, Freedom Day, Youth Day, Women’s Day, Heritage Day, Day of Reconciliation, plus the Easter pair and Christmas. Lunar holidays are not the spine of that list the way they are in Kenya and Nigeria. If your South African workplace still closes for Eid, that is a workplace or community decision sitting on top of the Act, not a row I will add without data.

Egypt, Sudan, and other countries in the studio catalogue have their own sighting or calculation practices, and some use a Friday–Saturday weekend. I have not written leave essays for those countries yet. The studio will still print their grids. This article will not invent their Eid weekdays.

How to plan leave when the date is still a crescent

Hold a buffer, not a speech. If you need to be in Mombasa for Eid al-Fitr 2027, assume the listed Tuesday 9 March could move by a day either way, and do not buy a non-refundable bus for Monday night until the notice exists. If your employer needs a skeleton roster, write “pending gazette” on the March file instead of locking Tuesday as the only closed day.

Do not spend two annual-leave days on both the calculated date and the neighbouring day “just in case” unless you can afford that. A cheaper pattern is to keep one floating leave day uncommitted until the notice, then spend it if the gazette lands on a Thursday or a Tuesday that you want to join to a weekend. The Kenya leave guide is about that kind of bridging after the date is known.

Tell the people who need to know that the date is pending. Schools, payroll, and in-laws all plan on different clocks. A school may already be in term (as Kenya is on 20 March 2026). Payroll may have already closed. In-laws may have already slaughtered an animal. The gazette does not reopen those decisions; it only names the public holiday.

What this site’s tools will and will not do for you

The country hubs show the civil date the dataset currently holds. The leave planner will highlight a Friday or Monday Eid if the listed date sits on those weekdays. The working-days calculator will subtract that weekday once it is in the list. None of those tools watch the sky.

ICS feeds under /feeds/ update when I publish a correction. Subscribe to the year you care about rather than downloading a one-off file in January and never refreshing. Apple Calendar, Google Calendar, and Outlook all honour a refresh interval on a subscribe URL; they do not honour a file that is sitting in Downloads.

Custom holidays you type into the studio are local guesses. If you add “Eid (estimated)” on a Thursday and the gazette later names Friday, you now have two marks and one official day. Delete the guess when the notice lands. Custom dates are not uploaded as a profile; they live in the browser until you clear site data or export them on purpose.

Ramadan, reduced hours, and the things I will not schedule for you

Many workplaces in East and West Africa shorten the day during Ramadan or shift meetings away from late afternoon. That is a workplace custom or a policy, not a public holiday. This site will not paint Ramadan weekdays as closed. It will not estimate suhoor or iftar times. It will not tell a manager that productivity “drops” — that sentence is prejudice dressed as planning.

What the calendar can do is show you that Ramadan 2026 sits in February–March on the civil grid, that Eid al-Fitr lands on a Friday in Kenya that year, and that Term 1 is still in session. A kind plan is to avoid stacking a product launch on the gazetted Friday and the Monday after, not to police anyone’s fast.

Eid al-Adha follows the Hajj calendar, not the end of Ramadan. It is a different month and a different leave conversation. In Kenya 2026 it is a Wednesday. In the 2028 Kenya list it is a Friday. Do not reuse your Fitr plan for Adha. Look at the weekday again.

A short practice I trust more than a forecast

In January, print the fixed commemorations and write “Eid: pending” in March and in the Hajj month. In the week the crescent is due, watch the Gazette or the Interior announcement, not only a WhatsApp forward. When the notice exists, update the phone via the ICS feed and, if you still care about the paper, write the civil date on the wall in pen.

If you are closing payroll, read the payroll guide for cutoff behaviour. If you are travelling with children, read the school-travel guide so you do not treat a gazetted Friday in Term 1 as a family week. If you just need the current row, open the country hub for the year.

I will update 2027 and 2028 Eid dates when I see a notice. I will not invent a second public-holiday weekday because a neighbour country announced one. Email contact@africacalendar.app with the notice if I am slow. The crescent does not wait for a nights-and-weekends project, and I would rather be corrected than be certain.

More guides

Back to the guides index · About · Contact.