Overview
Introduction
Leap years don't follow a simple every-four-years pattern once you cross a century boundary, which trips up a lot of manual date math.
This tool lists every leap year in a range you give it, applying the real Gregorian rule so century exceptions like 1900 and 2100 come out correct.
What Is Find Leap Years?
A leap year finder that scans an inclusive range of years and returns every year in it that qualifies as a leap year under the Gregorian calendar.
It applies the full three-part rule (divisible by 4, except centuries, except every 4th century) rather than the simplified "every 4 years" shortcut that misses the century exceptions.
How Find Leap Years Works
The range is parsed into a start and end year, then each year in between is tested against the Gregorian leap year rule.
A year qualifies if it's divisible by 4 and not by 100, or if it's divisible by 400; every year that passes is collected into a comma-separated list.
When To Use Find Leap Years
Use it when planning anything that depends on February having 29 days in specific years, like recurring February 29 anniversaries or calendar generation code.
It's also useful for classroom material or quick sanity checks on leap year logic in your own code.
Often used alongside Find Common Years, Check If a Year Is a Leap Year and Check If a Year Is a Common Year.
Features
Advantages
- Applies the exact Gregorian rule, including the century exceptions that a naive "divisible by 4" check gets wrong.
- Returns a clean comma-separated list ready to paste into a spreadsheet or script.
- Handles ranges spanning up to 100,000 years.
Limitations
- Only evaluates the proleptic Gregorian calendar rule, it doesn't account for historical calendar reforms (like the Julian-to-Gregorian transition) in specific countries.
- Returns years as plain numbers, it doesn't list the actual February 29 dates.
Examples
Best Practices & Notes
Best Practices
- Use a range that spans at least one century boundary if you specifically want to verify century-exception behavior, like 1896-1904 or 1996-2004.
- Cross-check a single year with Leap Year Checker when you want the reasoning spelled out, not just the yes/no list membership.
Developer Notes
The leap year test is `(year % 4 === 0 && year % 100 !== 0) || year % 400 === 0`, applied to every integer year in the inclusive range; this is the standard Gregorian rule and is the same check used by Leap Year Checker, just run in a loop instead of once.
Find Leap Years Use Cases
- Generating a reference list of leap years for calendar or scheduling software
- Checking which years in a historical range had a February 29
- Classroom exercises on the Gregorian leap year rule
Common Mistakes
- Assuming every year divisible by 4 is a leap year, which misses the century exception (1900, 2100 are not leap years).
- Entering the range with the start year after the end year, which the tool rejects.
Tips
- Use Common Year Finder on the same range to get the complementary list of non-leap years.
- For just one year, Leap Year Checker gives a plain-language explanation of which rule applied.