What this period calculator does
This menstrual cycle calculator predicts the start date of your next period, tells you which cycle day you are currently on, and draws a calendar that highlights the days you are likely to be menstruating over the coming months. All you need is the first day of your last period, how long your period usually lasts, and your average cycle length.
How to use it
Enter the first day of your last period (treated as cycle day 1), your average period length in days (how long bleeding lasts, often 3-7 days), and your average cycle length in days (the gap from one period start to the next, typically 21-35 days, with 28 being a common average). Use the Previous / Next buttons to scroll the calendar three months at a time.
The formula explained
Let \(L\) be your last period start, \(C\) your cycle length, \(P\) your period length and \(T\) today. The number of whole cycles since \(L\) is \(\left\lfloor \frac{T-L}{C}\right\rfloor\). Your current cycle day is
$$\text{cycleDay} = \big((T-L)\bmod C\big) + 1$$The next period start is \(L\) plus one extra full cycle beyond the cycle you are in, and the days until then is simply that date minus today.
$$\text{nextPeriodStart} = L + \left(\left\lfloor \frac{T-L}{C}\right\rfloor + 1\right)\cdot C \text{ days}$$Each predicted period spans \(P\) consecutive days starting on every \(L + k\cdot C\).
Worked example
Suppose your last period started on 14 Jun 2026, your period lasts 5 days, and your cycle is 28 days, and today is also 14 Jun 2026. Then days since last period \(= 0\), so you are on cycle day 1. The next period start is \(14 \text{ Jun} + 28 \text{ days} = \text{Sun, 12 Jul 2026}\), which is 28 days away. The calendar marks Jun 14-18 and Jul 12-16 as predicted period days.
FAQ
Is this medical advice? No. It is a statistical estimate that assumes a regular, constant-length cycle. It does not diagnose anything or predict ovulation and fertility windows.
Why are my real dates different? Cycles naturally vary in length. Accuracy improves when your average cycle length is stable; logging several cycles gives a better average.
What if my cycle isn't 28 days? Just enter your own average. Anything from about 21 to 35 days is generally considered normal, and the calculator adapts the predictions accordingly.