FreeTools Labs Glossary
Cycle and ovulation
Learn how period dates and cycle lengths create calendar forecasts for upcoming dates, and why ovulation and possible windows remain estimates.
FreeTools Labs Glossary
Learn how period dates and cycle lengths create calendar forecasts for upcoming dates, and why ovulation and possible windows remain estimates.
Period, cycle length, ovulation estimate and history.
Open Cycle & Ovulation Calculator →The Cycle & Ovulation Calculator turns entered period starts and cycle assumptions into calendar dates for future periods, an estimated ovulation date and a possible fertile window. It does not observe hormones or symptoms and does not measure a biological event.
The page has three separate modes. `Cycle & next period` uses the latest period start, an integer cycle length, period duration, the number of future cycles and a luteal-phase assumption. `Ovulation & fertile days` uses the latest period start, cycle length and that assumption. `Cycle from past periods` uses two to twelve period starts and the same assumption.
The service accepts real ISO calendar dates in `YYYY-MM-DD` format only. Cycle length must be an integer of at least 2; the luteal-phase assumption must be an integer of at least 1 and smaller than the cycle length. Period duration must be at least 1 day and shorter than the cycle, and future cycles are limited to 1 through 12.
Day 1 is the first entered bleeding day. Results are date-only calendar values, not a record of a biological process.
Next period start
latest period start + cycle length in daysPredicted period end
predicted period start + period duration − 1 dayFor a forecast, the service adds whole calendar days and produces up to twelve consecutive starts and ends. Duration only marks the displayed end of a predicted bleeding period; it does not change cycle length or the ovulation estimate.
Dates are handled at UTC midnight and returned as `YYYY-MM-DD`. Additions and differences use whole days, so daylight-saving changes do not shift a result by hours. Invalid dates are rejected rather than silently normalised.
Estimated ovulation day in this model
cycle length − luteal-phase assumptionEstimated ovulation date
period start + (estimated ovulation day − 1) daysThe editable luteal-phase assumption defaults to 14 days on the page, but it is not a fixed biological value. With a 28-day cycle and 14, the service returns day 14; with a 35-day cycle and the same assumption, it returns day 21. The calculator therefore does not claim that ovulation always occurs on day 14.
Direct estimation uses the entered latest start. A forecast uses every calculated future start as the basis of its following cycle. An output date is a calendar calculation within the selected model, not a measurement or confirmation of ovulation.
Calculator window
estimated ovulation date − 5 days to estimated ovulation date + 1 dayFor every estimated ovulation date, the tool creates a fixed window from five days before through one day after that date. It adds no probabilities, individual measurements or further safety margins. The documented ACOG source helps put that interval in context; it does not turn a calendar window into individual fertility confirmation.
This window does not identify safe days. The calculator is not suitable for reliable contraception, confirming fertility or determining pregnancy.
History mode sorts two to twelve unique starts and calculates the day gaps between consecutive starts. It displays the unrounded mean, median, shortest and longest gap, and the range. Only the mean is mathematically rounded to a whole number of days for the next expected start, which is added to the newest date.
It also shows a historical interval from the newest start plus the shortest to the newest start plus the longest observed gap. That interval describes entered calendar gaps only: it provides no cause, probability or uncertainty model. The visible history mode has no separate ovulation result.
Duplicate starts are invalid. The service can reject future historical entries when a reference date is supplied, although the current page supplies none. Past regularity is therefore a fixed input assumption, not a guarantee of future cycles.
In `Ovulation & fertile days`, enter latest period start `2026-01-01`, cycle length 28 and luteal-phase assumption 14. The service calculates 28 − 14 = day 14 and `2026-01-01` + 13 days = `2026-01-14`.
The fixed window starts five days earlier on `2026-01-09` and ends one day later on `2026-01-15`. These are the exact service results for those inputs; they are a calendar estimate, not confirmation that a biological event happens on that date.
In `Cycle & next period`, enter `2026-01-01`, cycle length 35, period duration 4, two future cycles and assumption 14. The first predicted period runs from `2026-02-05` to `2026-02-08`; the second from `2026-03-12` to `2026-03-15`.
For the first future cycle, 35 − 14 = day 21. From its start `2026-02-05`, the service returns estimated ovulation `2026-02-25` and window `2026-02-20` to `2026-02-26`. This shows the implemented dependency on cycle length and the assumption, not a prediction of an actual course.
The calculator processes no hormone values, temperature, symptoms, tests, ultrasound or other body data. It calculates no cause of variation, conception probability or individual biological fertility. The service function `manualOvulation` is an isolated date helper, not an input mode on the current page.
An expected period, ovulation date or window cannot confirm or rule out pregnancy. The tool offers no diagnosis, treatment or individual contraceptive advice. With irregular or changing cycles, the fixed entered length is a particularly limited assumption.
Project source for contextualising the implemented window of five days before through one day after ovulation; it is not evidence of an individual ovulation date.