A year is a leap year if it can be divided by 4, unless it can be divided by 100. Century years are leap years only if they can also be divided by 400. So 2024 and 2028 are leap years, 2000 was a leap year, but 1900 was not, and 2100 won’t be.
A leap year has 366 days instead of 365, with the extra day added as 29 February. The rule exists because a year of seasons is about 365.2422 days long, not exactly 365. This guide explains the rule with examples, shows why 2100 is skipped, and covers the leap-year bugs that still trip up spreadsheets and code.

- Divisible by 4: leap year (2024, 2028)
- Divisible by 100: not a leap year (1900, 2100)
- Divisible by 400: leap year after all (2000, 2400)
- Days in a leap year: 366
- Next leap years: 2028, 2032, 2036, 2040
How to tell if a year is a leap year
Ask these three questions in order. You can stop as soon as you get an answer.
- Can the year be divided by 4 with nothing left over? If no, it is not a leap year. If yes, go to step 2.
- Can it be divided by 100? If no, it is a leap year. If yes, go to step 3.
- Can it be divided by 400? If yes, it is a leap year. If no, it is not.
These are the same steps Microsoft gives in its own guide to leap years in Excel. Here is how they work on real years:
| Year | ÷ 4? | ÷ 100? | ÷ 400? | Leap year? |
|---|---|---|---|---|
| 2026 | No | — | — | No |
| 2028 | Yes | No | — | Yes |
| 1900 | Yes | Yes | No | No |
| 2000 | Yes | Yes | Yes | Yes |
| 2100 | Yes | Yes | No | No |
| 2400 | Yes | Yes | Yes | Yes |

A quick shortcut for ordinary years: look at the last two digits. If they divide by 4 (such as 24, 28 or 32), the year is a leap year. This shortcut only fails for century years ending in 00, so check those with the 400 rule.
Why do we have leap years?
Because the Earth’s year doesn’t fit into a whole number of days. The US Naval Observatory puts the tropical year, the time from one spring to the next, at about 365.2422 days. That is almost six hours longer than 365 days.
If every year had 365 days, the calendar would slip by about a quarter of a day each year. The US Naval Observatory says that adds up to about 24 days every century. Within a few hundred years, spring would arrive in what the calendar calls winter. Adding one day roughly every four years keeps the calendar in step with the seasons.
Why isn’t 2100 a leap year?
Because one leap day every four years adds slightly too much time. Here is how the rule developed, according to the US Naval Observatory:
- The Julian calendar (46 B.C.) added a leap day every four years, giving an average year of 365.25 days. That is a little too long, so the calendar still drifted by about three-quarters of a day every century.
- The Gregorian calendar (1582), introduced by Pope Gregory XIII, fixed this by dropping three leap days every 400 years. Century years became leap years only if divisible by 400. That gives 97 leap days per 400 years and an average year of 365.2425 days, within about half a minute of the real year.
That is why 1700, 1800 and 1900 were not leap years, 2000 was, and 2100, 2200 and 2300 will not be. Most people alive today have never seen a “skipped” leap year, because 2000 happened to be one of the exceptions to the exception.

A neat result of the 400-year rule: one full cycle is exactly 146,097 days, which is exactly 20,871 weeks. So the Gregorian calendar repeats itself every 400 years, with every date falling on the same weekday.
When did Britain and its colonies switch?
Britain, and its colonies at the time, moved to the Gregorian calendar in 1752 under the Calendar (New Style) Act 1750. To catch up, the Act said the day after 2 September 1752 would be called 14 September, “omitting for that time only the eleven intermediate nominal days”. Other countries switched at different times, so old dates from before the change need care.
Leap year list: 2000 to 2100
There are 25 leap years from 2000 to 2099. The year 2100 is not one of them.
| 2000 | 2004 | 2008 | 2012 | 2016 |
| 2020 | 2024 | 2028 | 2032 | 2036 |
| 2040 | 2044 | 2048 | 2052 | 2056 |
| 2060 | 2064 | 2068 | 2072 | 2076 |
| 2080 | 2084 | 2088 | 2092 | 2096 |
How a leap year changes the numbers
| Normal year | Leap year | |
|---|---|---|
| Days | 365 | 366 |
| Days in February | 28 | 29 |
| Hours | 8,760 | 8,784 |
| Weeks | 52 weeks and 1 day | 52 weeks and 2 days |
For more on these numbers, see how many hours are in a year, how many minutes are in a year and how many weeks are in a year.
How to check for a leap year in Excel and code
- Excel: use Microsoft’s own formula for a year in cell A1, shown below.
- Python:
calendar.isleap(2100)returnsFalse, andcalendar.isleap(2000)returnsTrue. - Any language: a year is a leap year if
(year % 4 == 0 and year % 100 != 0) or year % 400 == 0.
=IF(OR(MOD(A1,400)=0,AND(MOD(A1,4)=0,MOD(A1,100)<>0)),"Leap Year","NOT a Leap Year")
The Excel 1900 bug
Excel treats 1900 as a leap year, even though it wasn’t. Microsoft explains that Lotus 1-2-3 made this mistake first, and Excel copied it so that dates would match between the two programs. Fixing it now would shift almost every date in existing spreadsheets by one day.
Microsoft says the only practical effect is that the WEEKDAY function gives wrong answers for dates before 1 March 1900. Excel handles every other leap year correctly, including 2100.

Common leap year mistakes
- Checking only “divisible by 4”. This gets 1900 and 2100 wrong. Always include the 100 and 400 rules.
- Adding 365 days to get “one year later”. Across 29 February, that lands one day early. Use your software’s date functions to add years instead.
- Mixing up leap years and leap seconds. A leap year adds a day to the calendar. A leap second is a separate, tiny adjustment to clock time. See our guide to GMT vs UTC for how leap seconds work.
- Forgetting 29 February in date checks. Forms and databases must accept 29 February in leap years and reject it in other years.

Working out someone’s age across leap years by hand is easy to get wrong. The Age Calculator handles it for you.
Frequently asked questions
Is 2026 a leap year?
No. 2026 can’t be divided by 4. The last leap year was 2024 and the next one is 2028.
When is the next leap year?
2028. After that come 2032, 2036 and 2040. In 2028, 29 February falls on a Tuesday.
Was 2000 a leap year?
Yes. 2000 is divisible by 400, so it was a leap year even though it is a century year.
How many days are in a leap year?
366 days. The extra day is 29 February.
How many leap years are there in 100 years?
Usually 24 or 25, depending on whether the century year counts. From 2001 to 2100 there are 24, because 2100 is skipped. From 2000 to 2099 there are 25, because 2000 counts.
How common is a 29 February birthday?
29 February is 97 days out of every 146,097 in the Gregorian cycle, or about 1 day in 1,506. People born on it usually celebrate on 28 February or 1 March in other years.