Methodology

Every number on this site comes from the rules below — the same rules the tools run. They are standard calendar methods with known limits, which we state as plainly as the formulas.

How to read this page

Every date on this site is calendar arithmetic on the dates you enter. The numbers inside the formulas — 14 days, a 6-day window, 6–12 days, 280 days — are model settings taken from published research, not measurements of your body: nothing here detects hormones or confirms ovulation or pregnancy. The demo below (last period Sep 1, 2026, a 30-day cycle, 5-day periods) lets you check each rule by hand.

Dates and cycle days

Day 1 is the first day of full flow — spotting before real flow does not count. Days elapsed since the last period start are counted from 0, so the current cycle day = days since the last period start + 1 (the start day itself is day 1). Example: a period that started on 1 September puts 18 September on cycle day 18 (17 days elapsed, plus the start day).

Sep 1day 1 (+0)…Sep 18day 18 (+17)…Sep 30day 30Oct 1expected · day 1 only if it starts
Two counts, one rule: days elapsed (+n) start at 0; cycle days start at 1. A 30-day cycle runs day 1 to day 30. Oct 1 (start + 30) is a prediction; it becomes day 1 of the next cycle only when you record that the period started then — the demo assumes it did.

When a new period actually begins, you update the start date — a predicted date never becomes an actual record, and nothing resets to day 1 on its own.

The core formulas

Cycle day(today − first day of last period) + 1
Next periodlast period start + C
Period endstart + D − 1
Later cycleslast period start + n × C
Ovulation (estimate)next period − 14 = last start + (C − 14)
Fertile windowovulation − 5 … ovulation (6 days)

C = the cycle length used for the forecast (entered, or averaged from your logged dates); D = your usual period length. Dates are handled at noon UTC, so daylight-saving changes never shift a day.

Demo: one 30-day cycle, in days after the last period started (Sep 1, 2026 = day 0). The positions follow the formulas above; real ovulation can move by several days.
Period

Sep 1–5: day 0–4 after the start (cycle days 1–5).

Fertile window

Sep 12–17: ovulation − 5 through ovulation day.

Ovulation estimate

Sep 17 = next period − 14 (Oct 1 − 14). The ovulation calculator also shows a realistic range: next − 15 … next − 10 = Sep 16–21.

Next period

Oct 1 = Sep 1 + 30. On Oct 1 itself the result reads “due today”, not 1 day late.

Sep 1Sep 12Sep 18Oct 1

Every rule, tool by tool

Different tools answer different questions, but they share these rules. Where a tool uses its own rule, it is listed here:

What each tool calculates and how. “Rounding” notes how averages are turned into whole days.
OutputRule as implementedWhere it is usedRounding and limits
Next period, later periodsstart + C; start + n × C; end = start + D − 1Period calculator, calendar, late, missed, cycle phase, pregnancy test, ovulation, implantationFurther cycles repeat the same C, so distant months are assumptions
Cycle day and phasedays since start + 1; phase from C and D (ovulation phase = cycle days C − 14 to C − 13)Period calculator, cycle phaseAn estimate of the phase, not a measurement
Ovulation and fertile windownext − 14; window = ovulation − 5 … ovulation; realistic range next − 15 … next − 10Period calculator, ovulation, calendar, conceptionDays outside the window are never “safe days”
Irregular rangesnext period start + S … start + L; ovulation = that range − 14; fertile = start + (S − 19) … start + (L − 14)Period calculator (irregular mode), irregular periods pageS, L = your shortest and longest recent cycles; assumes the next cycles stay inside that spread
Average cycle lengthgaps between consecutive start dates, averaged — but each tool checks the gaps differently. Cycle length calculator (2–6 dates): a repeated date counts once; gaps under 15 or over 90 days are skipped (and listed in the result); the other gaps are averaged. Period calculator helper (up to 3 dates) and its logged history: if any gap is under 10 or over 90 days, no average is given. Period tracker: a date can’t be logged twice; every gap between logged dates is averaged, with no range checkPeriod calculator helper and history, cycle length, period trackerPeriod calculator: whole days. Cycle length and tracker: one decimal shown; forecasts and hand-offs use the rounded whole number. The 10–90 and 15–90 limits are input checks, not definitions of a healthy cycle
Due datelast period + 280 + (C − 28); or conception + 266; IVF: transfer + (266 − embryo age)Due date, conception (conception = due date − 266)Naegele’s rule with a cycle-length shift; an early scan can replace it
Implantation windowovulation + 6 … ovulation + 12ImplantationThe study range (Wilcox 1999), not a spotting date
Pregnancy test daysfrom your period: next − 6 / next / next + 7; from a date of sex: + 12 / + 21 / + 28; from ovulation: + 12 / + 14 / + 21Pregnancy testEarliest / reliable / best; a negative before the reliable day proves little
Days latetoday − expected date (0 on the date itself)Period calculator, late, cycle phaseA calendar comparison, not a cause

Worked example: check it yourself

Demo values — work them out yourself from the rules above (independently recomputed for this page).
InputRuleResult
Start Sep 1, C = 30start + Cnext period Oct 1
D = 5; this period started Sep 1, the next is predicted to start Oct 1start + D − 1this period: Sep 1–5 (Sep 1 + 4); predicted next period: Oct 1–5 (Oct 1 + 4)
Today Sep 18(Sep 18 − Sep 1) + 1cycle day 18
Next period Oct 1− 14; − 5 … 0ovulation Sep 17; window Sep 12–17
Next period Oct 1− 15 … − 10realistic ovulation Sep 16–21
S = 26, L = 33start + S … + L; S − 19 … L − 14period Sep 27 – Oct 4; fertile Sep 8–20
Starts Jun 1, Jun 29, Jul 29, Aug 30gaps, then average28, 30, 32 → 30 days
Starts Jun 3, Jun 4, Aug 3, Aug 31, Oct 1gaps 1, 60, 28, 31cycle length tool skips the 1-day gap: (60 + 28 + 31) ÷ 3 = 39.7; the tracker averages all four: 120 ÷ 4 = 30.0; the period calculator helper (first 3 dates) gives no average
Start Sep 1, C = 30+ 280 + (30 − 28)due date Jun 10, 2027
Ovulation Sep 17+ 6 … + 12implantation window Sep 23–29
Next period Oct 1− 6 / 0 / + 7test Sep 25 / Oct 1 / Oct 8
Today Oct 4Oct 4 − Oct 13 days past the expected date

To check a result from a tool, enter the same dates and compare. If the numbers don’t match the rules on this page, please tell us — that is a bug we want to fix.

Irregular cycles: ranges, not single days

With your shortest recent cycle S and longest L, the next period is expected between start + S and start + L. The calculator shifts that range back 14 days for possible ovulation and adds the 5 days before for the fertile range: start + (S − 19) to start + (L − 14). For cycle n the period range is start + n × S to start + n × L — it widens with distance because the uncertainty adds up.

The ovulation calculator’s guide also shows a wider hand-calculation (earliest fertile day = shortest cycle − 20, latest = longest cycle − 10), which allows for a luteal phase anywhere from 10 to 15 days. That is an explanation for planning by hand, not what the irregular calculator outputs — so the two can differ by a few days at each end. These ranges are projections from your entries, not confidence intervals.

Late and projected dates

Days past the expected date is a calendar comparison, not a cause. Before the expected date the result is a countdown; on the date itself it is due today (zero days, not one day late); after it, the count shows how many days have passed. An estimated date passing without bleeding is not a diagnosis, and without a newer recorded start the calculator keeps counting from the last actual start date rather than silently starting a new cycle.

  • Known difference: internally, the cycle phase calculator files the expected date itself under “past expected period” and colours it amber, while showing the words “Period due today”. The dates and day counts are the same as everywhere else.

Pregnancy test timing

Most home tests can be used from the first day of a missed period (NHS). When there is no period date to anchor to, NHS guidance advises testing at least 21 days after the most recent unprotected sex. A negative result is less reliable than a positive, especially early: if you still think you could be pregnant, test again a few days later, and speak to a GP if a second test is negative and your period still hasn’t come (NHS).

Model settings are not measurements

The fixed numbers in the formulas, and what they are — and are not.
NumberWhat it is in the modelWhere it comes fromWhat it is not
14 daysOffset from the next period back to ovulationThe luteal phase is usually more stable than the first half of the cycle; in 600,000+ app-recorded cycles it typically ran 10–15 days (Bull 2019)Your measured luteal phase
6-day windowOvulation day plus the 5 days beforePregnancies in Wilcox 1995 came from sex in this window. Some apps also count the day or two after ovulation, so their window can look 1–2 days longerA guarantee that other days are infertile
6–12 daysImplantation after ovulationRange observed in Wilcox 1999 (most on days 8–10)The day you will see spotting
280 / 266 daysLast period to due date / conception to due dateNaegele’s rule, the standard obstetric conventionA birth date — few babies arrive on it
Input limitsRanges the steppers and fields acceptTechnical limits of the toolsDefinitions of a healthy cycle

Real-world data on 600,000+ cycles found luteal phases typically range 10–15 days (npj Digital Medicine, 2019). That figure describes population variation — it is not a validation of this site’s model, and we do not provide a validated personal error margin. The more your cycles vary, the wider the honest uncertainty; beyond 7–9 days of yearly spread, read outputs as rough ranges.

These tools provide estimates for personal planning. They are not contraception, not a pregnancy test, and not medical advice. Persistent irregularity, heavy bleeding, severe pain or missed periods warrant a licensed clinician.

References, scope and version

Reference ranges are not a diagnosis: FIGO uses 24–38 days as the normal adult cycle frequency (21–45 for teens in the first years, ACOG), and regularity is a separate measure with age-dependent limits assessed over months, not from a handful of entries.

  • Last reviewed: 8 October 2026, against the code that runs the tools.
  • Correction in this review: the irregular-range section previously gave a wider luteal-variation rule than the calculator actually uses; it now states the rule the calculator runs and names the difference. The day-count demo now says that a predicted date becomes day 1 only once the period actually starts, and the rules table says how many dates each average uses and which gaps each tool skips or refuses.
  1. Wilcox AJ et al. — Timing of sexual intercourse in relation to ovulation, NEJM (1995).
  2. Wilcox AJ et al. — Time of implantation of the conceptus and loss of pregnancy, NEJM (1999).
  3. Bull JR et al. — Real-world menstrual cycle characteristics of 600,000+ cycles, npj Digital Medicine (2019).
  4. FIGO — The FIGO ovulatory disorders classification system.
  5. NHS — Doing a pregnancy test.
  6. Office on Women’s Health — Your menstrual cycle.
This tool provides estimates for personal planning only and is not a substitute for professional medical advice, diagnosis or treatment. Predictions must not be used as contraception. If you have concerns about your cycle, heavy bleeding, severe pain or missed periods, please consult a licensed clinician.