Staaarter

Find Leap Years

Lists every leap year between a start and end year, inclusive, using the exact Gregorian calendar rule for which years get a February 29. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-08-05
By Staaarter Team
calendarleap-year

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.

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

Leap years between 2000 and 2030

Input

2000-2030

Output

2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028

Every 4th year in this range is a leap year; there's no century exception since 2100 falls outside the range.

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.

References

Frequently Asked Questions