🗓️ Leap Year Checker

🔧 Operation

📅 Year

Enter any integer between -9999 and 9999. Negative values represent years BCE under the proleptic Gregorian calendar.

📅 Year Range (inclusive)

Scans every integer year in the inclusive range and lists the ones that satisfy the Gregorian leap rule.

📅 Next N Leap Years

Returns the next N leap years starting at the given year. If the start year itself is a leap year, it is included in the list.

📤 Result

{{ primaryOutput }}

{{ singleResult.isLeap ? '✅ Leap Year' : '❌ Not a Leap Year' }}

Year
{{ singleResult.year }}
Is leap?
{{ singleResult.isLeap ? 'Yes' : 'No' }}
Reason
{{ singleResult.reason }}
Days in year
{{ singleResult.isLeap ? 366 : 365 }}

📊 Range Summary

From
{{ rangeResult.from }}
To
{{ rangeResult.to }}
Leap years found
{{ rangeResult.count }}

Leap years

{{ rangeResult.leapYears.join(', ') }}

📊 Next N Leap Years

Start year
{{ nextResult.startYear }}
Count requested
{{ nextResult.count }}

Years

{{ nextResult.years.join(', ') }}
⚠️

ℹ️ About Leap Year Checker

Leap year definition

A leap year is a calendar year that contains one extra day, February 29, so the civil calendar stays close to the seasonal year. This checker applies the modern Gregorian leap-year rule to a single year, an inclusive range, or the next N leap years from a starting year.

The Gregorian rule

The Gregorian calendar keeps the simple "every fourth year" pattern but removes most century years. A year is a leap year if and only if it passes this test:

  • It is divisible by 4, and
  • It is not divisible by 100, or
  • It is divisible by 400.

In Boolean form: (year % 4 === 0) && (year % 100 !== 0 || year % 400 === 0). That produces 97 leap years in every 400-year Gregorian cycle, for an average calendar year of 365.2425 days.

Worked examples

Year Leap? Why
2024YesDivisible by 4 and not by 100
2023NoNot divisible by 4
1900NoDivisible by 100 but not by 400
2000YesDivisible by 400
2100NoCentury year that is not divisible by 400

Common use cases

  • Validate whether February 29 is a valid date for a given year.
  • Check billing, payroll, subscription, and scheduling edge cases.
  • Generate leap-year lists for datasets, reports, quizzes, and calendar tests.
  • Compare date-library behavior when porting code across languages.
  • Inspect century years such as 1900, 2000, 2100, and 2400 without mental arithmetic.

Scope and limitations

The calculator uses a proleptic Gregorian rule: the same Gregorian arithmetic is extended backward and forward for every integer year from -9999 through 9999. This is useful for software testing and ISO-style date arithmetic, but it is not a historical calendar-conversion tool. Countries adopted the Gregorian calendar on different dates, and historical BC/AD year numbering has no year 0, so map BCE dates carefully before using negative or zero years in legal, archival, or genealogy work.

Range scans are inclusive. The "next N" mode returns up to 50 leap years and includes the starting year when the starting year itself is a leap year.

References

API Usage Example:

POST /api/tools/time/leap-year-checker
Content-Type: application/json

{
    "operation": "check",
    "year": 2024
}
Ready