Calculate ovulation

Mark a calendar estimate for ovulation, the surrounding fertile interval, and the next period from a regular cycle.

freeworks offlinenothing uploaded
ToolOvulation Calculator
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

The next period is placed one usual cycle length after day 1, and subtracting 14 days gives the estimated ovulation date. The fertile interval extends from 5 days before that estimate through 1 day after; a 28-day cycle is the conventional default used for the calendar arithmetic.

Formula
estimated ovulation offset = usual cycle length − 14 days
  • The menstrual date must be a real past or current ISO date rather than a JavaScript-normalised value.
  • This is a regular-cycle estimate and does not detect whether ovulation occurred.

Worked example

A 28 day cycle
Last period started on 1 March 2026
Input
											Last period: 2026-03-01
Cycle length days: 28
										
Output
												Ovulation date: 2026-03-15
Fertile window start: 2026-03-10
Fertile window end: 2026-03-16
Next period date: 2026-03-29
											

When to use this

Period calendars use a regular cycle length, preconception plans mark the six-day interval around estimated ovulation, and fertility consultations compare that estimate with cervical mucus or luteinising-hormone testing.

Edge cases

  • An impossible calendar value such as 2026-02-30 is rejected instead of being rolled forward into March.
  • A cycle lasting 14 days or less is rejected because the fixed luteal subtraction would place estimated ovulation on or before cycle day 1.
  • Irregular cycles, anovulation, hormonal contraception, postpartum changes, and month-to-month variation leave no signal in the inputs, so the calendar dates are not adjusted.

References