Enter any year to check if it is a leap year.
Is It a Leap Year?
A year is a leap year if it divides evenly by 4, except century years, which must also divide by 400. 2026 is not a leap year; the next one is 2028, and its leap day is Tuesday, February 29, 2028. Enter any year from 1 to 9999 above to check it, see its February and find the nearest leap years before and after.
Leap Years 2000 to 2100
| Decade | Leap years |
|---|---|
| 2000s | 2000, 2004, 2008 |
| 2010s | 2012, 2016 |
| 2020s | 2020, 2024, 2028 |
| 2030s | 2032, 2036 |
| 2040s | 2040, 2044, 2048 |
| 2050s | 2052, 2056 |
| 2060s | 2060, 2064, 2068 |
| 2070s | 2072, 2076 |
| 2080s | 2080, 2084, 2088 |
| 2090s | 2092, 2096 |
| 2100 | Not a leap year |
That is 25 leap years from 2000 to 2099. Because 2100 is skipped, 2096 to 2104 will be an 8-year gap, the first since 1896 to 1904.
Century Years and the 400 Rule
| Year | Divisible by 400? | Leap year? | Days in February |
|---|---|---|---|
| 1600 | Yes | Yes | 29 |
| 1700 | No | No | 28 |
| 1800 | No | No | 28 |
| 1900 | No | No | 28 |
| 2000 | Yes | Yes | 29 |
| 2100 | No | No | 28 |
| 2200 | No | No | 28 |
| 2300 | No | No | 28 |
| 2400 | Yes | Yes | 29 |
Why the rule works
Every 400 years the Gregorian calendar has 97 leap days, so the cycle is exactly 146,097 days. That is 20,871 weeks with nothing left over, which is why the whole calendar, weekdays included, repeats every 400 years. The average calendar year is 365.2425 days against a mean solar (tropical) year of about 365.24219 days, a drift of roughly one day in 3,200 years. The older Julian calendar, with a leap year every 4 years and no exceptions, averaged 365.25 days and drifted a full day about every 128 years.
When the rule started
The Gregorian calendar began in October 1582, when Thursday, October 4 was followed by Friday, October 15. Britain and its American colonies switched in September 1752: Wednesday, September 2 was followed by Thursday, September 14. So 1700 was still a leap year in colonial America. This calculator applies the Gregorian rule to every year, including those before the switch.
Leap Year Checks in Code and Spreadsheets
- JavaScript: (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0
- Python: calendar.isleap(y)
- Excel or Google Sheets: =IF(OR(MOD(A1,400)=0,AND(MOD(A1,4)=0,MOD(A1,100)<>0)),"Leap","Common")
A common mistake is checking only divisibility by 4, which wrongly makes 1900 and 2100 leap years. Excel has a related quirk: its 1900 date system accepts February 29, 1900 as a real date, kept on purpose for compatibility with Lotus 1-2-3. Use the MOD formula above rather than testing whether DATE(year,2,29) exists. For counting days across leap years, the days between dates and day of year calculators handle February 29 automatically.