Dates and conversion
Why Hijri Date Converters Disagree by a Day
Hijri converters differ because they use different calendars: Umm al-Qura tables, tabular (Kuwaiti) rules or astronomical estimates. How to choose one.
By Tahir Nasuru · · 9 min read

A Hijri date converter turns a Gregorian date into a date in the Islamic lunar calendar, but there is no single rule it can follow. Some converters use Saudi Arabia's calculated Umm al-Qura calendar, some use a fixed arithmetic ("tabular" or "Kuwaiti") rule, and some approximate the astronomical new moon. None of them can know when a crescent was actually sighted in your area. So when two converters differ by a day, usually neither is broken: they are answering slightly different questions.
Key Takeaways
- Most one-day differences come from the method: Umm al-Qura, tabular (civil or astronomical epoch) and astronomical approximations each start months on different days.
- Even two Umm al-Qura converters can differ for years before 1420 AH or far in the future, because they use different data tables.
- Time zones and the sunset start of the Islamic day cause "wrong" dates near midnight and in the evening.
- No converter reports a local moon sighting. For Ramadan and Eid, confirm with the authority you follow.
One day, three answers
The quickest way to see the problem is to ask several calendars about the same day. The table below converts Monday 9 November 2026 with the open-source hijri-converter library used by this site, and with the four Islamic calendars built into Node.js (Intl.DateTimeFormat, which uses the ICU library, version 77.1).
| Calendar | Method | 9 November 2026 is |
|---|---|---|
| hijri-converter | Umm al-Qura tables | 29 Jumada al-Awwal 1448 |
ICU islamic-umalqura | Umm al-Qura tables | 29 Jumada al-Awwal 1448 |
ICU islamic-tbla | Tabular, astronomical epoch | 29 Jumada al-Awwal 1448 |
ICU islamic-civil | Tabular, civil epoch | 28 Jumada al-Awwal 1448 |
ICU islamic | Astronomical approximation | 30 Jumada al-Awwal 1448 |
Three different answers for one Monday. Each is correct for its own rule.
The main reason: different calendars behind the same label
Umm al-Qura: a calculated calendar for Makkah
The Umm al-Qura calendar is Saudi Arabia's official calculated calendar. R.H. van Gent of Utrecht University explains in his introduction to the Umm al-Qura calendar that it is computed for the latitude and longitude of the Ka'ba, and that neighbouring states such as Bahrain, Qatar and the United Arab Emirates also follow it. Its months are 29 or 30 days depending on the actual positions of the sun and moon, so they follow no fixed pattern. The Umm al-Qura calendar explainer covers its rules.
Tabular calendars: arithmetic, not astronomy
A tabular calendar fixes the month lengths in advance: months alternate 30 and 29 days, and 11 years in every 30-year cycle get a leap day. The US Naval Observatory describes this kind of calendar as one "established for some non-religious purposes."
Two choices make tabular converters disagree with each other:
- The epoch. Van Gent's page on variants of the arithmetical Islamic calendar gives two possible starting days for 1 Muharram 1 AH: 15 July 622 (the "astronomical" or "Thursday" epoch) and 16 July 622 (the "civil" or "Friday" epoch). The same rule counted from these two days always gives dates exactly one day apart.
- The leap-year scheme. The same page lists several patterns for which 11 years are leap years. The so-called Kuwaiti algorithm is one of them (van Gent's scheme II), which he describes as the forerunner of Microsoft's HijriCalendar software.
The Unicode CLDR calendar list, a shared standard for calendar data in software, makes the epoch split explicit. It defines islamic-civil and islamic-tbla with the same leap years, 2, 5, 7, 10, 13, 16, 18, 21, 24, 26 and 29, and labels one "civil epoch" and the other "astronomical epoch." That is the one-day gap between 28 and 29 Jumada al-Awwal in the table above. The tabular Islamic calendar post walks through the arithmetic.
Astronomical approximations
Some software estimates each month from the moon's position. ICU's plain islamic calendar works this way: its source code steps day by day until the moon's age, measured from the new moon, turns positive. That ties the month to the astronomical new moon, which usually comes a day or so before a crescent can be seen. This is why islamic already shows the 30th on 9 November 2026.
How often they differ
Over a long span, the gap between Umm al-Qura and the tabular rules is routine, not rare. We compared the first day of every month from 1420 to 1450 AH (372 months) in hijri-converter with the ICU calendars. The civil-epoch tabular calendar started the month on the same day as Umm al-Qura in 165 months, one day later in 190, two days later in 12 and one day earlier in 5. The astronomical-epoch version matched in 190 months, was one day earlier in 165, one day later in 12 and two days earlier in 5. (Method: for each month we took the Gregorian date of 1 in hijri-converter and checked which day the ICU calendar shows as the 1st, using Intl.DateTimeFormat in Node.js 24.)
Two Umm al-Qura converters can disagree too
Choosing "Umm al-Qura" does not settle everything. A converter can only be as good as its table, and the tables differ outside the recent past.
hijri-converter and ICU's islamic-umalqura agree on every month from 1420 to 1450 AH in the comparison above. Outside that window they part ways:
| Hijri years | Months compared | Same start day | ICU one day later | Other |
|---|---|---|---|---|
| 1343–1419 AH (1924–1999) | 924 | 395 | 489 | 40 |
| 1420–1450 AH (1999–2029) | 372 | 372 | 0 | 0 |
| 1451–1500 AH (2029–2077) | 600 | 389 | 211 | 0 |
The first future disagreement comes early. hijri-converter starts Rabi al-Thani 1451 on Saturday 11 August 2029, while ICU's table still shows 30 Rabi al-Awwal on that day.
The reasons are documented in the converters themselves. The hijridate documentation (the Python original of hijri-converter) says its data is "based on official sources, including archived Umm al-Qura newspaper publications" and covers 1343 to 1500 AH, 1 August 1924 to 16 November 2077. Van Gent's own Umm al-Qura converter is valid only from 1356 AH (1937) and bases its dates for 1356 to 1411 AH on a conversion table published in the early 1990s by King Fahd University of Petroleum and Minerals. ICU's table runs from 1300 to 1600 AH, and outside that range its source code falls back to the civil tabular calculation.
Before trusting a converted date from the 1970s or the 2060s, check which table the tool uses and what range it supports.
Sunset and time zones: when the date itself shifts
The Islamic day starts at sunset
A Gregorian day starts at midnight; an Islamic day starts at sunset the evening before. The USNO Islamic observances service states that its dates "begin at sunset of the previous evening and end at sunset on the date tabulated." Van Gent's converter likewise notes that the Western dates it shows are "the post-midnight equivalents."
Converters follow the same convention, which can look like an error in the evening. In the Umm al-Qura calendar, Wednesday 11 November 2026 is 1 Jumada al-Thani 1448. Sunset in London on Tuesday 10 November 2026 is at about 16:18 (calculated with the open-source adhan library). From that moment, by the Islamic reckoning, 1 Jumada al-Thani has begun, yet any converter asked about "10 November" will still say 30 Jumada al-Awwal.
The time zone of "today"
Software bugs add a second kind of shift. A web page that works out "today" in Coordinated Universal Time (UTC) instead of the reader's local time will show the wrong day for part of every day. JavaScript's toISOString(), a common shortcut for getting a date string, always returns UTC: Mozilla's reference page states "The timezone is always UTC."
A worked example: at 07:00 on Tuesday 10 November 2026 in Sydney, it is still 20:00 on Monday 9 November in UTC. A converter that uses the UTC date shows 29 Jumada al-Awwal 1448. The correct Umm al-Qura date for Sydney's Tuesday is the 30th. East of UTC the error shows up in the morning; west of UTC, in the evening.
Manual adjustments and local announcements
The adjustment setting
Many apps let you shift Hijri dates by a day or two to match your community. Microsoft documents this for its .NET HijriCalendar class: a HijriAdjustment value of up to two days, which by default comes from the computer's regional settings. Two devices with different settings will disagree even when they use the same calendar. The same documentation notes that Ramadan "officially starts and ends according to a decree that is based on the observation of the new moon."
Announced dates can differ from any calculation
Calculated calendars plan ahead; religious dates are often announced on the evening itself. The US Naval Observatory explains that the months traditionally begin "when the thin crescent Moon is actually sighted in the western sky after sunset." Communities apply this in different ways, by local sighting, by another country's announcement or by calculation. The main positions are set out in moon sighting vs calculation; which to follow is a question for qualified scholars and your local mosque.
Even inside Saudi Arabia, the announcement sometimes differs from the Umm al-Qura calendar. Van Gent's page on adjustments to the Umm al-Qura calendar states that "strictly speaking, the Umm al-Qura calendar is intended for civil purposes only," and compares computed dates with those announced by the High Judiciary Council. For Ramadan 1439, the computed start was 16 May 2018 and the announced start was 17 May 2018. Every calculated converter in the comparison above, including hijri-converter and ICU's islamic-umalqura, calls Thursday 17 May 2018 the 2nd of Ramadan. In Saudi practice it was the 1st. Van Gent also notes that the dates observed by different communities around Ramadan and Dhu al-Hijjah can differ by "one, two or even three days."
How to choose a converter
Match the tool to the question you are asking.
| What you need | Use | Why |
|---|---|---|
| A Saudi or Gulf official document date | Umm al-Qura | It is the civil calendar those governments publish |
| A historical date before about 1924 | A tabular converter, stating the epoch and scheme | Most Umm al-Qura converters, such as hijri-converter, start in 1924 |
| Software that must give the same result everywhere | A named calendar such as islamic-umalqura or islamic-civil | Avoids device settings and silent fallbacks |
| The start of Ramadan or Eid in your community | Your local mosque or the authority you follow | No converter reports a sighting |
| A date in the evening | The next Gregorian day | The Islamic date changed at sunset |
A few checks catch most mismatches:
- Find the method. Look for a label such as Umm al-Qura, civil, tabular or astronomical. A tool that does not say is hard to compare.
- Check the range. For dates before 1420 AH or after 1450 AH, compare two Umm al-Qura sources before relying on either.
- Check the time. If the mismatch appears only late at night or early in the morning, suspect a UTC bug; in the evening, remember the sunset rule.
- Check adjustments. Make sure no +1 or −1 offset is switched on in the app or device.
- Label calculated dates. For worship, treat a converted date as provisional until it is announced locally.
Check a date yourself
The Hijri date converter uses the calculated Umm al-Qura calendar from the hijri-converter tables, covering 1343 to 1500 AH. If your community's announcement differs by a day, the settings page has a Hijri date adjustment that shifts displayed dates by up to two days. Dates in this post were calculated with hijri-converter 1.0.5 and the ICU calendars in Node.js 24 (ICU 77.1); local announcements may differ by a day.


