How to convert a Gregorian (Miladi) date to Shamsi (Jalali)
Converting a Gregorian (Miladi) date into the Iranian Solar Hijri (Shamsi, or Jalali) calendar is something many people need to do for birthdays, official documents, or reading historical dates. This guide explains how the conversion works, the one date boundary that catches most people out, and a few worked examples you can check against. When you just want the answer, the converter does it instantly in your browser.
The quick way
- Open the converter.
- Choose the Gregorian (Miladi) direction and type the day, month, and year.
- Read the Shamsi (Jalali) result. Conversion happens entirely on your device, with no server and no network call.
If you would rather understand the logic, or check a result by hand, read on.
How the conversion works
The Shamsi calendar is a solar calendar whose year begins on Nowruz, the first day of Farvardin. Each Persian year maps onto a span of the Gregorian year, but the two calendars do not start on the same day, so a single Gregorian year always overlaps two Persian years. This is why you cannot simply subtract a fixed number from the Gregorian year.
The reliable method is arithmetic, not guesswork. This site uses the well-established jalaali-js library, which applies the proven 33-year leap-year cycle, and then cross-checks the answer against your browser's built-in Persian calendar. A date is only shown as valid when both calendars agree and the result falls within the supported range (Jalali years 1 to 1700, Gregorian years 622 to 2322).
The Nowruz boundary: the part people get wrong
Nowruz (1 Farvardin) falls on roughly 20 or 21 March each year. That single boundary decides which Persian year your Gregorian date belongs to:
- A Gregorian date before Nowruz (roughly 1 January to ~20 March) belongs to the Persian year that started the previous March. For most of that window the Persian year is the Gregorian year minus 622.
- A Gregorian date on or after Nowruz (roughly ~21 March to 31 December) belongs to the Persian year that just began, which is usually the Gregorian year minus 621.
Because the exact Nowruz date shifts by a day from year to year, the only way to be certain near the boundary is to use the arithmetic conversion rather than a rule of thumb.
Worked examples
| Gregorian (Miladi) | Shamsi (Jalali) |
|---|---|
| 20 March 2024 | 1 Farvardin 1403 (Nowruz) |
| 21 March 2024 | 2 Farvardin 1403 |
| 21 March 2025 | 1 Farvardin 1404 (Nowruz) |
| 1 January 2025 | 12 Dey 1403 |
| 11 February 1979 | 22 Bahman 1357 |
| 20 March 2021 | 30 Esfand 1399 |
Notice the first two rows: 20 March 2024 lands on Nowruz and starts year 1403, while 21 March 2024 is already the second day of that same year. The last row shows 20 March 2021 falling on 30 Esfand, the final day of 1399, which was a Persian leap year and so had a 30-day Esfand rather than the usual 29.
Tips for an accurate result
- Use a date-only value. This converter ignores the time of day, so a time zone can never push your result onto the wrong day.
- Take extra care with any Gregorian date in March. Confirm whether it falls before or after Nowruz for that specific year.
- Remember Esfand can have 29 or 30 days depending on whether the Persian year is a leap year. See the leap years guide for detail.
Related guides
Going the other way? See how to convert Shamsi to Gregorian. To learn the month structure, read about the Persian months. For everyday questions, the FAQ covers accuracy, privacy, and offline use. You can also install the converter to use it without an internet connection.
← Open the converter