Calculation of Easter Sunday in the Gregorian calendar

For a better understanding of this text, it is recommended to first go over the calculation procedure for Easter Sunday in the Julian calendar!

In principle, the way you go about calculating the date for Easter Sunday in the Gregorian calendar is the same as you would calculate it in the Julian calendar. Using the epact, we find the first ecclesiastical (paschal) full moon, and then we find the first Sunday that follows it: this will give us Easter Sunday. In the following calculations, only whole numbers will be used. The '%' character (modulo) indicates that the remainder of the division is the only part to be used. What follows is the original calculation for the Gregorian epact, as written by Christoph Clavius ​​(see Commission for the Reform of the Calendar) ROMANI CALENDARII AND GREGORIO XIII. P.M. RESTAURANTS Explicatio; this book uses tables instead of formulas to help you obtain the necessary values. Now, first we need to find the Golden Number for the given year.

Calculation formula: golden_number = 1 + year % 19

We will now calculate the Julian epact. The constant 11 needs to be added to balance the year, a correction which was discovered by observing how new moons actually appeared during the time of the Gregorian reform. It merely causes a shift of three days, as compared to the calculations in the old Julian calendar, but the fact is, these old calculations differed from the astronomical reality of the time by as many as four days. According to the old tables, the first new moon of the year for Golden Number 1 was supposed to occur on 23 January (see the chronological table). After instituting the new reform, 10 days had to be removed, so they chose to postpone its removal until the 2nd of February, that way the new moon that preceded it in the calendar would be on the 3rd of January. Aloysius Lilius then adjusted the cyclic new moon for Gregorian epact 1 back three days (0 January ≡ 31 December). The Julian epact itself indicates this three-day correction of the new moon in the Julian calendar.

Calculation formula: Julian_epact = (11 × (golden_number - 1) + 11) % 30
which can be simplified to Julian_epact = 11 × golden_number % 30
or to express it another way: Julian_epact = (11 × (year % 19) + 11) % 30

From this, we can easily calculate the following table, where each Golden Number is uniquely assigned a Julian epact:

Golden number12345678910111213141516171819
Julian epact11223142561728920112234152671829

Up to this point, the procedure has been similar to the Julian calendar, but now it’s necessary to correct (align) the Julian epact in order to get the final Gregorian epact. The first thing we need to do is calculate the century in which the year is given. In this calculation, when we say “century” we mean something slightly different than the current understanding of a century. For this calculation, each century will begin with a “centenary year” (years that end with two zeros; e.g. 1900, 2000, 2100) and end with “99”. This flies in the face of the common calculation of a century, which begins at one, not zero. For example, the 21st century contains the years 2001 and 2100 inclusive, but for the following calculations, we’ll treat the 21st century as the years 2000 to 2099 inclusive.

Calculation formula: century = (year / 100) + 1

In the Gregorian calendar, centenary years are only considered leap years if they’re divisible by 400. So, in a 400-year cycle, three leap days will be dropped, as opposed to in the Julian calendar. The epact also needs to be reduced by these days, through what is known as the solar equalisation (aequatio solaris). This correction is performed for non-century years (i.e. 1700, 1800, 1900, 2100, 2200, 2300, 2500, etc):

Calculation formula: solar_correction = 3 × (century - 16) / 4

For the next century, we’ll then take the values ​​given in the table, and because this correction is done through subtraction, you’ll see that they are listed as negative values. The negative value grows gradually as the leap days in the centenary years are omitted. Since the year of the transition from the 20th to the 21st century (i.e. the year 2000) was a leap year in the Gregorian calendar (just as it is in the Julian calendar), the value did not need to be changed.

Century
years
16th
1583-99
17th
1600-99
18th
1700-99
19th
1800-99
20th
1900-99
21th
2000-99
22th
2100-99
23th
2200-99
24th
2300-99
25th
2400-99
Solar
correction
00-1-2-3-3-4-5-6-6

Not even a 19-year lunar cycle is entirely accurate, because after 19 years, lunar phases fall back 1.5 hours earlier, causing an error of one day that will occur after 300 years. The calendar commission eventually decided that in a cycle of 2,500 years, a lunar correction (aequatio lunaris) would be applied eight times (i.e. on average, once every 312.5 years). This correction would only occur on centenary years as well. According to it, the repair was to be performed every 300, and those years would be 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900. However, not in 4200, but in 4300 (which would be after 400 years). After all of that time, the 2500-year cycle would thenrepeat itself.

Calculation formula: lunar_correction = 8 × (century - 15) / 25

For the next century we get the following values given in the table:

Century
years
16th
1583-99
17th
1600-99
18th
1700-99
19th
1800-99
20th
1900-99
21th
2000-99
22th
2100-99
23th
2200-99
24th
2300-99
25th
2400-99
Lunar
correction
0001112223

Both corrections performed on separate centennial years can be displayed in a table clearly (corr.: correction). Also, don't forget about the 'irregularity' of the lunar correction, because after 3900 the repair will occur after 400 years, not the usual 300 years. Since this is repeated in cycles of 2500 years, it will occur next in 6400.

yearsolar
corr.
lunar
corr.
1600
1700-1
1800-1+1
1900-1
2000
2100-1+1
2200-1
2300-1
2400+1
2500-1
2600-1
2700-1+1
2800
2900-1
3000-1+1
3100-1
yearsolar
corr.
lunar
corr.
3200
3300-1+1
3400-1
3500-1
3600+1
3700-1
3800-1
3900-1+1
4000
4100-1
4200-1
4300-1+1
4400
4500-1
4600-1+1
4700-1
yearsolar
corr.
lunar
corr.
4800
4900-1+1
5000-1
5100-1
5200+1
5300-1
5400-1
5500-1+1
5600
5700-1
5800-1+1
5900-1
6000
6100-1+1
6200-1
6300-1
yearsolar
corr.
lunar
corr.
6400+1
6500-1
6600-1
6700-1
6800+1
6900-1
7000-1
7100-1+1
7200
7300-1
7400-1+1
7500-1
7600
7700-1+1
7800-1
7900-1
yearsolar
corr.
lunar
corr.
8000+1
8100-1
8200-1
8300-1+1
8400
8500-1
8600-1+1
8700-1
8800
8900-1+1
9000-1
9100-1
9200
9300-1+1
9400-1
9500-1

The last correction necessary is the deduction of the ten days omitted during the Gregorian calendar reform. From this, we obtain the resulting Gregorian epact.

Calculation formula: Gregorian_epact = Julian_epact - 10 - solar_correction + lunar_correction
if the result of the line is less than 0, add 30, or if the result is greater than 29, subtract 30.

Below is a simple table of the result of all corrections of the Julian epact for the Gregorian calendar for the coming centuries. Sometimes the corrections cancel each other out and the resulting correction ends up looking the same (e.g. during the transition from the 21st to the 22nd century, both the solar and lunar corrections will change, but since they cancel each other out, the correction remains unchanged overall).

Century
years
16th
1583-99
17th
1600-99
18th
1700-99
19th
1800-99
20th
1900-99
21th
2000-99
22th
2100-99
23th
2200-99
24th
2300-99
25th
2400-99
resulting
correction
-10-10-11-11-12-12-12-13-14-13

Different centuries have their own 19-year series epact. However, the essence of them remain the same as for the Alexandrian epacts. In these, the value increases after each year of the nineteen-year Golden Number circle after 11, until it reaches the end of the cycle and it sees an increase of 12 (i.e. 11 x 8 + 12). This is due to the fact that each cycle is interrupted when moving to another century, because they have their own unique corrections. For example, the year 1862 has the Golden Number 1 and belongs to the 19th century. The Gregorian epact of 1862 is 0. The following year with the Golden Number 1 is the year 1881, but because it also belongs to the 19th century, it has the same epact 0. However, in the year 1900, another year with the Golden Number 1, is considered part of the 20th century (recall earlier how we had to change our understanding of centuries to make them start with 0 for these calculations). In this year there is another correction of the Julian epact necessary and therefore the resulting Gregorian epact is 29. For a list of all possible epact series, see the page All possible Gregorian epact series, but for now, you can see a table below that displays an epact series for recent and upcoming centuries. In the 20th, 21st and 22nd centuries, the series of epacts do not change, so it could be said that in terms of the series of Gregorian epacts, we live in peaceful times.

Golden
number
julian
epact
16th
1583-99
17th
1600-99
18th
1700-99
19th
1800-99
20th
1900-99
21th
2000-99
22th
2100-99
23th
2200-99
24th
2300-99
25th
2400-99
1111100292929282728
22212121111101010989
3323232222212121201920
4144433222101
52515151414131313121112
6626262525242424232223
7177766555434
82818181717161616151415
9929292828272727262526
1020101099888767
11121212020191919181718
12122211000292829
13231313121211111110910
14424242323222222212021
15155544333212
162616161515141414131213
17727272626252525242324
18188877666545
192919191818171717161516

The Gregorian epact can take values ​​from 0 to 29, as can the Coptic epact from the calculation of Easter Sunday in the Julian calendar. In some sources, 30 is used instead of 0, but an asterisk was originally used, while other epact numbers were written in Roman numerals. However, only 19 different values ​​are used in a given century. There’s a problem with a total of 30 values in the Gregorian epact, because as we know from the old Julian calculation, an ecclesiastical full moon can occur between 21 March and 18 April, which is only a 29 day range. In the calculation for the Julian calendar, 19 possible Alexandrian epacts were easily divisible between those 29 days, but for 30 Gregorian epacts it is not as simple. This range of 29 days had to be maintained in the new Gregorian calendar according to the wishes of the church. An earlier date was out of the question, as it would be before the church's beginning of spring. And if the last date was extended to 19 April 19, there could be a case where Easter Sunday is 26 April. Fearing that many people would not adopt the new calendar for this reason, this option was ultimately rejected. In addition, the church demanded that the latest date of Easter Sunday not appear twice in one nineteen-year cycle of the Golden Number.

Therefore, epact 25 was finally selected, which was assigned two possible calendar dates for the ecclesiastical full moon as the 17th or 18th of April. You can use the following rule to determine which date to use: if the Golden number is greater than or equal to 12, the date of 17 April 17 is selected, otherwise 18 April is selected. This will prevent a repeat of the latest Easter Sunday in a nineteen-year cycle. If necessary, on this website an epact with an earlier date of the cyclic full moon (i.e. a Golden Number greater than 11) will be written in bold (such as 25).

Each epact value can be uniquely assigned an ecclesiastical full moon date, except for epact 25, which can be assigned two calendar dates:

Conversion table
Gregorian
epact
Ecclesiastical
full moon
23March 21
22March 22
21March 23
20March 24
19March 25
18March 26
17March 27
16March 28
15March 29
14March 30
13March 31
12April 1
11April 2
10April 3
9April 4
8April 5
7April 6
6April 7
5April 8
4April 9
3April 10
2April 11
1April 12
0April 13
29April 14
28April 15
27April 16
26April 17
25/25April 17/18
24April 18

We see, for example, that the earliest ecclesiastical full moon (i.e Easter Sunday) can occur only at epact 23. In the table of Gregorian epact series, this epact occurs can be seen to occur in the 19th century and then once again in the 23rd century. This explains the large gap between the earliest possible Easter Sunday (22 March), which last occured in 1818 and why the next one won’t happen again until 2285. Since epact 23 does not occur between the 20th and 22nd centuries, we’re a bit unlucky, because the earliest date for Easter Sunday won’t occur in any of our lifetimes.

The date of the full moon can then be determined according to the Conversion table or by calculation:

for epact 0 - 23: full_moon_date = 44 - epact
for epact 24: full_moon_date = 49
for epact 25 and golden number < 12: full_moon_date = 49
for epact 25 and golden number >= 12: full_moon_date = 48
for epact 26 - 29: full_moon_date = 74 - epact

If the result gives a number greater than 31, the ecclesiastical full moon does not begin until April, then we get the April date after subtracting 31 from the result. All that remains is to determine how many days of the week is the day of the full moon, to determine the following Sunday. In the Gregorian calendar, you can use a formula from the Julian calendar, where we also subtract the difference in days between the two calendars (the so-called Gregorian correction).

gregorian_correction = 10 + solar_correction
day_of_week = (year + year / 4 - gregorian_correction + full_moon_date) % 7
The number 0 is Sunday, 1 is Monday, and so on until 6, which is Saturday.

The calendar date of Easter Sunday in the Gregorian calendar can then be easily obtained:

Easter_Sunday = full_moon_date + (7 - day_of_week)

if we get a number greater than 31, it is the April date and it’s necessary to subtract 31; otherwise it is the March date.