Easter Day is the Sunday after the full moon which falls on or after the spring equinox in the northern hemisphere. The date of the equinox is taken as 21 March, and tables are used which follow the mean age of the moon, rather than the actual observed phases.

This definition of the date of Easter, though probably not the earliest, was likely already in use around the time of the Council of Nicaea in 325. It derives from the date of the Jewish festival of Passover, which falls on the first Full Moon of the spring. From early on, the Church used tables for the lunar calendar rather than actual observation each year. The tables formulated in the 6th century became normative and continued in use long after their inaccuracy was apparent until new ones were introduced by Pope Gregory XIII in 1582, and adopted in Britain in September 1752.

The tables which appear in the Book of Common Prayer can be used to determine the date of Easter. These were compiled by the then Astronomer Royal, the Revd James Bradley (1673–1762) and annexed to the Calendar (New Style) Act 1750, by which the Gregorian Calendar was adopted in Britain. The effect of them is mathematically identical to the more complicated tables of epacts introduced by the Gregorian reform, and devised by Luigi Lilio or Giglio, known as Aloysius Lilius (c.1510–76), and refined by Christopher Clavius (1538–1612).

Underlying these tables is a relatively simple algorithm which is described here. This description assumes a limited mathematical knowledge, particularly of integer division and remainders, or modulo arithmetic. The algorithm applies to any year since the introduction of the Gregorian Calendar, which in Britain was in September 1752.

We refer to the year number as *y*, and use it to calculate the Golden number, *g*:

g=ymod 19 + 1[1]

The moon waxes and wanes over a period of 29 and a bit days, beginning with each New Moon and waxing through to the Full Moon and then waning back until the next New Moon appears. Although this period is the origin of the month, our modern western months no longer fit the lunar pattern, whilst the year is entirely independent and based on the earth’s revolution around the sun. So the phases of the moon, the dates of New Moons and Full Moons, drift across the calendar. Every 19 years the cycle comes round (more or less), and then the dates repeat themselves across the next 19 years. So we can list all the phases and dates for each of these 19 years, and if we know which of the 19 we are in, then we know the dates of the various phases of the moon for that year.

The *Golden number* is a number from 1 to 19 that tells us which of these 19 years
applies. Nineteen year lunar cycles, to which Golden numbers refer, were introduced long before the Christian era, and were used by
– among others – Cyril of Alexandria when he calculated a table of Easter dates
covering the years 437–531 (a period of 95 years, which is 5 cycles of 19 years). In 525,
Dionysius Exiguus extended these tables, making 532 the first year of a new cycle, and at the
same time defining it as the year 532. As the cycle underlying the tables itself lasts 532
years (because 532 = 19 × 28, the product of the lengths of the lunar cycle of 19 years
and the solar cycle of 28 years), this means that the cycle that was just ending in 531 can be
conveniently backdated to begin in the year we call
1 BC. So 1 BC is year 1
of the cycle, and the following year AD 1 is year 2, and so
on. AD 18 is year 19, and then the Golden numbers begin
again, with AD 19 as 1. It can be seen that the Golden
number for any year AD is 1 more than the remainder when the
year number is divided by 19.

It is convenient to use a simple numbering scheme for the relevant days of the year. In
this scheme, days are numbered beginning with 22 March. So day 1 is 22 March, day 2 is
23 March, day 3 is 24 March and so on, through day 11 (1 April), day 28
(18 April), and on to day 35 on 25 April. Additionally, day 0 is 21 March. Unless
specifically mentioned, when dates are calculated it is these *day numbers* that
are being referred to.

These 36 days are the only dates needed for the calculation of Easter. The calculated full moon always falls between day 0 (21 March) and day 28 (18 April), and Easter Day is the following Sunday, which is always between day 1 (22 March) and day 35 (25 April).

The *day number* notation is just a convenience, and saves having to say each
time “expressed as the number of days after 21 March”.

From the Golden number we can calculate the date of the Paschal full moon, that is, the full moon which Easter is the Sunday after. This is done in several stages, and is first calculated for an initial time period, around the end of the sixteenth century when the Gregorian calendar was first introduced, and then a correction is applied to compensate for the inaccuracies that accumulate over a long period of time.

Underlying the calculations is a calendar of lunar months, each beginning at the New Moon and continuing until the eve of the next New Moon. These lunar months are alternately 30 and 29 days long. 12 lunar months contain 6 30-day months and 6 29-day months, a total of 354 days, which is 11 days shorter than the solar year of 365 days. So in each year of the Golden number cycle, each lunar month begins 11 days earlier than in the previous solar year.

By inspection of the tables, when the Golden number is 3 and the correction is 0 there is a New
Moon on 8 March, and a Full Moon on the 14th day, 21 March. The next year, when the Golden
number is 4, the Full Moon will fall 11 days earlier; and the following year, when the Golden
number is 5, the Full Moon will fall 11 × 2 = 22 days earlier. In
general, in any year the Full Moon will fall
11 × (*g* − 3) days *earlier* than
21 March. Whenever this is before 21 March a further lunar month of 30 days is
intercalated to give a date on or after 21 March.

The long-term correction, *c*, is also added in, and has the
effect of moving the calculated full moon to a date later in the calendar.

The date of the Paschal full moon is the day number *p*. We calculate day
number *p*′ and then adjust it slightly to get *p*.

p′= (−11( g− 3) +c) mod 30= (−(11 g− 11 × 3) +c) mod 30= (−(11 g− 33) +c) mod 30= (33 − 11 g+c) mod 30= (3 − 11 g+c) mod 30

That is,

p′ = (3 − 11g+c) mod 30

The calculated *p*′ is a day number between 0 and 29.

A slight adjustment is made to ensure that the date of the Paschal Full Moon, and therefore the date of Easter, does not fall too late.

if ( p′ = 29) or (p′ = 28 andg> 11) then

p=p′ − 1

else

p=p′[2]

The calculated *p* is a day number between 0 and 28.

In the Julian Calendar, the Paschal Full Moon always falls between day 0
(21 March) and day 28 (18 April), and the latest possible date for Easter Day is
therefore day 35 (25 April). The Gregorian calculation of *p*′,
however, may put the Full Moon on day 29 (19 April), and that would make it possible
for Easter Day to fall as late as 26 April. So, to maintain the ancient tradition,
if *p*′ is 29, all the lunar months in the corresponding calendar year are
shifted to start one day earlier than they would do otherwise. The Full Moons are
therefore calculated to fall a day earlier, and the Paschal Full Moon will fall on day
28 (18 April).

The calendar of moons also avoids having New Moons, and therefore Full Moons, falling
on the same date in the solar calendar in a different year in the same 19-year
cycle. But if under the previous adjustment the lunar months are moved to start a day
earlier, some of these dates will coincide with those of lunar months in other years
of the 19-year cycle. To avoid this, in years when the unadjusted calculation
puts *p* on a date that will clash with the adjusted *p*, then again all the
lunar months in that calendar year are shifted to start one day earlier than they
would do otherwise. These Full Moons too are therefore calculated to fall a day
earlier, and the Paschal Full Moon will then fall on day 27. By inspection, these
clashes of *p*′ and *p* both equalling 28 only happen when *g* is
more than 11. So when *g* is more than 11 and *p*′ is 28, the value
of *p* is reset to 27, and there are no further conflicting dates.

The calculation of *p*′ and *p* mirrors Table III in the
preliminary pages of the Book of Common Prayer. The adjustment of *p*′
to *p* can be found in the last three lines of that table.

Next, we determine the value of *c*, the correction that must be added in to this equation as time elapses. *c* has two components called the solar
correction, *s*, (given the traditional sun symbol ☉ in
some documents) and the lunar correction, *l* (given the moon
symbol ☽ in some documents).

s= (y− 1600) div 100 − (y− 1600) div 400[3]

The 19-year cycle fits the Julian Calendar, in which there is a leap year every fourth
year. But in the Gregorian Calendar, first introduced in 1582, three leap years are suppressed
in every 400 years, whenever the year number is divisible by 100, but not by 400. The *solar
correction* keeps the calculation in step with the solar Gregorian calendar by moving the
calculated phases of the moon one calendar day *later* each time the leap year is
suppressed. After 1582, this correction increases by 1 in 1700, 1800, 1900, but not in 2000
(which was a leap year), and in 2100, 2200, 2300, but not in 2400 (which will be a leap year)
and so on.

l= ((ydiv 100 − 14) × 8) div 25[4]

It was said above that the lunar cycle repeats every 19 years “more or less”. The
cycle of 19 years contains 19 × 365.25 days = 6939.75 days, but 235 cycles of the moon
(or *lunations*) is 6939.68818 days. The difference is 0.06182 day or 1 hour 29 minutes
shorter, which accumulates to a whole day after 307.3439 years. After this the phases of the
moon will fall a day *earlier* than calculated.

The *lunar correction* makes an adjustment 8 times in 2500 years, an average of once
every 312.5 years, and arranges that the extra days are only added at the end of a
century. Starting at 1400, the first adjustment is in the year 1800, and then every 300 years
in 2100, 2400, 2700, 3000, 3300, 3600 and 3900. Then the cycle begins again with a 400-year
wait until 4300, and then 7 gaps of 300 years.

The difference between 1 day in 307.3439 years and 1 day in 312.5 years will amount to a whole day only after 18,627 years, so not something that needs to be worried about yet.

c= s−l

The combined effect of the solar and lunar corrections
is *s* − *l*: each increase in the solar correction causes
the calculated date to be one day later in the calendar; and each increase in the
lunar correction causes the calculation to be one day earlier.
As *s* increases by 3 every 400 years (which is 75 every
10,000 years), and *l* increases by 8 every 2500 years (which
is 32 every 10,000 years), there is an overall slow increase in
*s* − *l*, meaning that the dates of the
phases of the moon gradually drift down the calendar and occur on
later dates.
Sometimes an increase in *s* is cancelled out by a simultaneous increase in *l*, as
happened in 1800 and will happen in 2100. The sum can even decrease, when *l* increases
but *s* does not, as will happen in 2400.

*s* − *l* was 0 from 1582, then 1 from 1700, 2 from 1900, 3 from
2200. These are the values in Table II in the preliminary pages of the 1662 Book of Common
Prayer.

The equation for *p*′ can now be rewritten:

p′= (3 − 11 g+c) mod 30= (3 − 11 g+s−l) mod 30

That is,

p′ = (3 − 11g+s−l) mod 30[5]

Now we need to determine the date of the following Sunday. First we calculate the ‘Dominical
number’, *d*:

d= (y+ (ydiv 4) − (ydiv 100) + (ydiv 400)) mod 7[6]

Since ancient times, days of the week have followed an unbroken sequence independently of
either the solar or lunar calendars. It is a common observation that a particular date slips
one day down the week each year, except in a leap year when it slips two days. So for a given
start date the slippage in any year is the year number plus the number of leap years. We can
ignore whole weeks, i.e., multiples of 7 days, since that represents a slippage to the same
weekday. The formula for the ‘Dominical number’ expresses this: it is the remainder
when dividing by 7 of the sum of the year number *y* and the number of leap years.

Additionally, a constant must be added to align this with the actual days of the week. However,
it turns out that in the Gregorian Calendar this constant is 0
(1 January AD 1 in the proleptic Gregorian Calendar is
a Monday; so that in the year 1, *d* is 1, meaning 1 January has slipped one day down
the week), and so can be ignored.

If *d* is 0, 1 January is a Sunday; if *d* is 1, 1 January is a Monday;
if *d* is 2, 1 January is a Tuesday; and so on.

The calculation of *d* mirrors Table I in the preliminary pages of the Book of Common
Prayer.

The word *proleptic* refers to backdating the calendar to a period before it came into
use. So the *proleptic Gregorian Calendar* means referring to a date before 10 October
1582 using the rules of the Gregorian Calendar.

*d*′ is the weekday of day 0 (21 March) rather than of 1 January.

d′ = (d+ 2) mod 7

In AD 1, 21 March was a Wednesday (in the proleptic
Gregorian Calendar), meaning that when *y* is 1, *d*′ is 3. The constant 2 is
added in to make this alignment.

If *d*′ is 0, 21 March is a Sunday;
if *d*′ is 1, 21 March is a Monday;
if *d*′ is 2, 21 March is a Tuesday;
and so on.

*d*″ is the Sunday after day 0:

d″= 7 − d′= 7 − ( d+ 2) mod 7

*d*″ is the numerical equivalent of the *Dominical letter* in the Book of
Common Prayer. This is a letter in the range A to G, set against every date in the Calendar and
which marks which dates are Sundays (“the Lord’s Day”,
hence *Dominical*) in any particular year.
Here, the calculation is aligned not with 1 January, but with days after 21 March.
This does not, however, affect the alignment of Dominical letters in the Calendar:
if *d*″ is 1, the Dominical letter is D;
and so on like this:

d″:1 2 3 4 5 6 7 letter:D E F G A B C

The calculation of the date of Easter only concerns March and April, so leap years do not have
to be worried about: the calculation of *d* and
*d*′ has already included the possible occurrence of 29 February. In the standard
1 January-based calculation, as found in the BCP and elsewhere, a leap year has two
Dominical letters, one used in January and February, and the second from March to December. The
different letter used to mark Sundays in January and February of a leap year is not relevant to
finding the date of Easter.

*d*″ (the Sunday after day 0) and *e* (Easter Day) are both Sundays, so
the gap between *p* (the Paschal full moon) and *d*″ is, give or take any
whole weeks, the same as the gap from *p* to *e*.
This is *Δ*, which must lie in the range 1–7, rather than 0–6, since
Easter is not allowed to fall on the same day as the Paschal full moon.

Δ= ( d″ −p) mod_{1}7= (7 − ( d+ 2) −p) mod_{1}7= (5 − d−p) mod_{1}7

Here, the operator mod_{1} is used, meaning the answer is calculated with an
offset of 1, so that it lies in the range 1–7, rather than 0–6.

Since *x* mod_{1} *y* ≡
(*x* − 1) mod *y* + 1, we can rewrite *Δ* using a
standard mod operator:

Δ= (5 − d−p) mod_{1}7= (5 − d−p− 1) mod 7 + 1= (4 − d−p) mod 7 + 1

We can now calculate *e*, the day number of Easter Day:

e=p+Δ

That is,

e=p+ 1 + (4 −d−p) mod 7[7]

In other words, Easter Day is:

ife< 11 then

(e+ 21) March

else

(e− 10) April

Before the introduction of the Gregorian Calendar, the Julian Calendar had been in use since before the time of Christ. The tables of Dionysius Exiguus, devised in AD 525, are used to determine the date of Easter. This leads to a very similar calculation, except that some of the formulae are slightly simpler than in the Gregorian Calendar.

First, every fourth year is a leap year even at the end of a century. So the formula
for *d* is simplified to

d= (y+ydiv 4 + 5) mod 7[6 _{j}]

The constant 5 aligns the cycle with reality: in AD 1
(when *y* = 1), 1 January is a Saturday in the
proleptic
Julian Calendar, so the year must have the Dominical letter B, and so *d* must be 6.

(Although the Julian Calendar was introduced in 45 BC it was incorrectly followed during the first few decades. The error was put right by the Emperor Augustus who ordered that the next three leap days be omitted, so that the corrected calendar did not come into use until 1 March AD 4. It is usual to backdate the corrected Julian Calendar before March AD 4 as a proleptic Julian Calendar.)

Similarly, the solar correction, *s*, which adjusts for the Gregorian change to leap years, is
always 0.

Secondly, because the 19-year cycle of the phases of the moon against the solar calendar is
assumed to hold for all time, the lunar correction, *l*, is also 0.

The calculated Full Moons must also be aligned to the table of moons used in the Julian
Calendar. By inspection, there is a New Moon on 8 March (and therefore a Full Moon on 21 March)
when the Golden number is 16. So the formula for *p*′ becomes

That is,

p′ = −11( g− 16) mod 30= −(11 g− 11 × 16) mod 30= −(11 g− 176) mod 30= (176 − 11 g) mod 30= (26 − 11 g) mod 30

p′ = (26 − 11g) mod 30[5 _{j}]

Finally, it is worth noting that *p*′ is never 29, and 28 occurs
when *g* is 8, so that *p* is always the same as *p*′.

All other parts of the calculation remain unchanged.

The Ecclesiastical Calendar: Its Theory and Construction; Samuel Butcher; Hodges, Foster and Figgis; Dublin, 1877

Calendar, Encyclopaedia Britannica, 1911 edition, volume 4, online at gutenberg.org

Gregorian Reform of the Calendar: Proceedings of the Vatican Conference to Commemorate its 400th Anniversary 1582 – 1982; edited by G V Coyne SJ, M A Hoskin, and O Pedersen; Pontificia Academia Scientiarum, 1983, and online at archive.org

Calendrical Calculations; Nachum Dershowitz and Edward M Reingold; Cambridge University Press, 1997, 2001, 2008, 2018, details at calendarists.com; ISBN 978-1-1076-8316-7

Mapping Time: The Calendar and its History; E G Richards; Oxford University Press, 1998, 2001; ISBN 978-0-19-850413-9

The Easter Computus and the Origins of the Christian Era; Alden A Mosshammer; Oxford University Press, 2008; ISBN 978-0-19-954312-0

This page is part of the oremus Almanac by Simon Kershaw. The summary of the calculation of Easter was first written in 1987, and revised in 1993, 1999 and 2021. almanac.oremus.org/easter/computus