{
  "id": "ovulation",
  "version": "aa5828dbad2e",
  "status": "published",
  "name": "Ovulation Calculator",
  "question": "When is my next ovulation?",
  "summary": "Estimates the ovulation day and the six-day fertile window from the first day of the last period and the cycle length: ovulation is about 14 days before the next period.",
  "category": "health",
  "subcategory": "pregnancy",
  "url": "https://www.acalculator.org/health/ovulation-calculator",
  "markdown": "https://www.acalculator.org/health/ovulation-calculator.md",
  "kind": "function",
  "method": "Ovulation = cycle start + cycle length − luteal phase (14 days), where the cycle start is the last period moved on by whole cycles until ovulation is on or after today; the fertile window runs from 5 days before ovulation to the ovulation day.",
  "assumptions": [
    "Ovulation happens a luteal phase (14 days unless you change it) before the next period starts.",
    "The fertile window is the 6 days ending on ovulation day: sperm can live up to about 5 days, the egg about a day.",
    "Cycles are taken as regular. Real ovulation can move by several days from cycle to cycle.",
    "If this cycle’s ovulation day has passed, the dates are for the next cycle with the same length.",
    "This is an estimate, not medical advice, and not a way to prevent pregnancy."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "lmp": {
        "title": "First day of your last period",
        "description": "The first day of your most recent menstrual period.",
        "type": "string",
        "format": "date"
      },
      "cycle": {
        "title": "Cycle length (days)",
        "description": "Days from the first day of one period to the first day of the next. 28 if you are not sure.",
        "type": "integer",
        "minimum": 21,
        "maximum": 45
      },
      "luteal": {
        "title": "Luteal phase (days)",
        "description": "Days from ovulation to the next period. 14 unless you have tracked your own.",
        "type": "integer",
        "minimum": 10,
        "maximum": 16
      },
      "on": {
        "title": "Today’s date",
        "description": "The date to count from: the dates are for the first cycle whose ovulation day is on or after it.",
        "type": "string",
        "format": "date"
      }
    }
  },
  "outputs": {
    "ovulation": {
      "label": "Likely ovulation day",
      "description": "The estimated ovulation day: the next period minus the luteal phase.",
      "format": "date-long"
    },
    "cycleStart": {
      "label": "Cycle starts",
      "description": "The first day of the cycle the dates are for: the last period, or a later predicted period when the last one was more than a cycle ago.",
      "format": "date"
    },
    "fertileStart": {
      "label": "Fertile window from",
      "description": "The first day of the fertile window: 5 days before ovulation.",
      "format": "date"
    },
    "fertileEnd": {
      "label": "Fertile window to",
      "description": "The last day of the fertile window: the ovulation day.",
      "format": "date"
    },
    "cycleDay": {
      "label": "Ovulation on cycle day",
      "description": "The ovulation day as a day of the cycle, counting the cycle start as day 1.",
      "format": "integer"
    },
    "nextPeriod": {
      "label": "Next period starts",
      "description": "The first day of the period after this cycle: the cycle start plus the cycle length.",
      "format": "date"
    },
    "due": {
      "label": "Due date if you conceive this cycle",
      "description": "The estimated due date for a pregnancy from this ovulation: ovulation + 266 days.",
      "format": "date"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "lmp": "2026-09-22",
      "cycle": 28,
      "luteal": 14,
      "on": "2026-09-29"
    },
    "outputs": {
      "ovulation": "2026-10-06",
      "cycleStart": "2026-09-22",
      "fertileStart": "2026-10-01",
      "fertileEnd": "2026-10-06",
      "cycleDay": 15,
      "nextPeriod": "2026-10-20",
      "due": "2027-06-29"
    },
    "text": "Your likely ovulation day is Tuesday, October 6, 2026, and your fertile window is October 1, 2026 to October 6, 2026."
  },
  "examples": [
    {
      "given": {
        "lmp": "2026-09-01",
        "cycle": 28,
        "luteal": 14
      },
      "expect": {
        "ovulation": "2026-09-15",
        "fertileStart": "2026-09-10",
        "fertileEnd": "2026-09-15",
        "cycleDay": 15,
        "nextPeriod": "2026-09-29",
        "due": "2027-06-08"
      },
      "source": "Wilcox et al. 1995 (fertile window); ovulation 14 days before the next period; hand calculation in content.mdx"
    },
    {
      "given": {
        "lmp": "2026-02-10",
        "cycle": 32,
        "luteal": 14
      },
      "expect": {
        "ovulation": "2026-02-28",
        "fertileStart": "2026-02-23",
        "cycleDay": 19,
        "nextPeriod": "2026-03-14"
      },
      "source": "hand calculation in content.mdx"
    },
    {
      "given": {
        "lmp": "2028-02-20",
        "cycle": 26,
        "luteal": 12
      },
      "expect": {
        "ovulation": "2028-03-05",
        "fertileStart": "2028-02-29",
        "nextPeriod": "2028-03-17",
        "due": "2028-11-26"
      },
      "source": "Bull et al. 2019 (luteal phases vary, mean 12.4 days); hand calculation in content.mdx"
    },
    {
      "given": {
        "lmp": "2026-06-01",
        "cycle": 28,
        "luteal": 14,
        "on": "2026-09-28"
      },
      "expect": {
        "cycleStart": "2026-09-21",
        "ovulation": "2026-10-05",
        "fertileStart": "2026-09-30",
        "cycleDay": 15,
        "nextPeriod": "2026-10-19",
        "due": "2027-06-28"
      },
      "source": "hand calculation in content.mdx: first ovulation June 15; 105 days to September 28; ⌈105 ÷ 28⌉ = 4 cycles"
    },
    {
      "given": {
        "lmp": "2026-09-10",
        "cycle": 30,
        "luteal": 14,
        "on": "2026-09-28"
      },
      "expect": {
        "cycleStart": "2026-10-10",
        "ovulation": "2026-10-26",
        "nextPeriod": "2026-11-09"
      },
      "source": "hand calculation in content.mdx: ovulation September 26 is 2 days before today; ⌈2 ÷ 30⌉ = 1 cycle"
    }
  ],
  "sources": [
    "Wilcox AJ, Weinberg CR, Baird DD. Timing of sexual intercourse in relation to ovulation: effects on the probability of conception, survival of the pregnancy, and sex of the baby. N Engl J Med. 1995;333(23):1517-1521. https://doi.org/10.1056/NEJM199512073332301",
    "Wilcox AJ, Dunson D, Baird DD. The timing of the \"fertile window\" in the menstrual cycle: day specific estimates from a prospective study. BMJ. 2000;321(7271):1259-1262. https://doi.org/10.1136/bmj.321.7271.1259",
    "Bull JR, Rowland SP, Scherwitzl EB, Scherwitzl R, Danielsson KG, Harper J. Real-world menstrual cycle characteristics of more than 600,000 menstrual cycles. NPJ Digit Med. 2019;2:83. https://pmc.ncbi.nlm.nih.gov/articles/PMC6710244/",
    "MedlinePlus Medical Encyclopedia. Pregnancy - identifying fertile days (life span of sperm and egg). https://medlineplus.gov/ency/article/007015.htm",
    "American College of Obstetricians and Gynecologists. Committee Opinion No. 700: Methods for Estimating the Due Date. Obstet Gynecol. 2017;129(5):e150-e154. https://www.acog.org/clinical/clinical-guidance/committee-opinion/articles/2017/05/methods-for-estimating-the-due-date"
  ],
  "related": [
    "due-date",
    "pregnancy"
  ],
  "changelog": [
    {
      "date": "2026-09-28",
      "note": "The dates roll forward to the first cycle whose ovulation is on or after today (new Today’s date input)."
    },
    {
      "date": "2026-09-28",
      "note": "The cycle-day row reads “Ovulation on cycle day”; the answer no longer says “will” for a past date."
    }
  ]
}
