Dates & time

Date Range Overlap Calculator

Find when projects, trips, or availability windows share the same calendar dates.

Date ranges to compare

Enter 2–10 ranges with different names. Every range starts on its start date.

Checked: both dates count. Unchecked: the end date is excluded, like a checkout date. The same rule applies to every range.

Range 1
Range 2

2 of 10 ranges

Example: Jan 10–20 and Jan 15–25, 2027. Keeps your end-date choice.

Common to all ranges

Ready to compare ranges

Recent calculations keeps the last five calculations in this tab, including every range and the end-date rule. Save inputs file or Copy link to reuse them later. CSV contains results; the JSON input file restores conditions. Anyone with the link or file can read the names and dates.

Examples and result interpretation

Two projects

Six shared calendar days

Jan 15–20 = 6 days

Project A runs January 10–20, 2027, and Project B runs January 15–25. With end dates included, the common period is January 15–20. At least two ranges cover 6 days, and either project covers 16 unique days. With ends excluded, those totals are 5 and 15.

Three periods

Partial overlap without a common window

All: 0 · At least two: 4

Use January 1–5, 4–8, and 7–10, 2027, with both ends included. The first two overlap on January 4–5; the last two overlap on January 7–8. No day belongs to all three, but 4 unique days belong to at least two. The total coverage is 10 days.

Touching endpoints

Does a shared boundary count?

Included: 1 · Excluded: 0

January 1–5 and January 5–8 share January 5 when ends are included. If ends are excluded, the first range stops after January 4 and there is no overlap. A range whose start and end are identical covers 1 day when included and 0 days when excluded.

How overlap is calculated

Each date is an exact integer day in the proleptic Gregorian calendar, from 0001-01-01 through 9999-12-31. For inclusive ends, the common period begins at the latest start and ends at the earliest end. Its length is max(0, earliest end − latest start + 1). For exclusive ends, omit the +1. An empty range makes the intersection of all ranges empty.

Coverage is counted between range boundaries. A day covered by at least one range contributes once to total unique days; a day covered by at least two contributes once to shared days. Pair results are calculated independently, so adding them would overcount dates covered by three or more ranges. Two differently named ranges with identical dates count as two ranges.

All days are calendar days, including weekends and holidays. No times of day, time zones, daylight-saving adjustments, or holiday calendars are involved. This is a date planning tool, not an hourly scheduling or booking system. There is no decimal rounding in the day totals. See the calculation policy for the site's general rules.

Copy and CSV include the original conditions, summary, overlap segments, and every pair. Segment and pair end dates always name the last day actually counted, even when input end dates are excluded. Formula-like range names receive a leading apostrophe in CSV for spreadsheet safety. JSON input files preserve the original names. Links are limited to 2,048 characters; save an input file for longer conditions.

Common questions

How is this different from Date Difference?

Date Difference measures one interval. This calculator compares multiple intervals and avoids counting shared dates more than once. Date Difference excludes its end date by default; this calculator includes ends by default. Match the checkbox before comparing totals.

Why is there no period common to all ranges?

The latest start may fall after the earliest counted end, or one range may be empty. Check the overlap segments and pair comparisons to see which subsets still share dates. Zero is a valid answer.

Can I leave and return within one range?

One range describes an uninterrupted period. Separate periods can be entered as different named ranges, but they count as separate ranges, not one person's combined availability. Do not interpret Common to all as common availability per person in that case.

Can I restore my inputs without recalculating?

Yes. Recent calculations, a saved JSON input file, or a shared link restores all ranges and the inclusion rule. Review them and select Calculate to produce a fresh result. Reset returns to two blank date ranges with ends included.