A more capable take on the classic sleep cycle calculator. Instead of a single fixed answer, it works in both directions — give it your alarm time and it suggests the best bedtimes, or give it your bedtime and it suggests the best wake-up times — with every suggestion landing on a natural 90-minute cycle boundary so you wake from light sleep rather than mid-cycle.
How it works
Human sleep is organised into repeating cycles. Across a night you pass from light sleep into deep slow-wave sleep, then into REM (dreaming) sleep, and back toward light sleep — one full loop averaging about 90 minutes in adults. Waking at the end of a cycle, while you are already in light sleep, feels natural and refreshed. Waking in the middle of a cycle — especially out of deep sleep — triggers sleep inertia, that heavy, groggy feeling that can linger for half an hour or more.
This calculator stacks whole cycles onto your anchor time. In wake mode it subtracts
N × cycle length plus your fall-asleep latency from the alarm to find each candidate
bedtime; in sleep mode it adds the same amount to your lie-down time to find each wake
time. Because the count starts from when you are actually asleep — not when your
head hits the pillow — it adds a configurable fall-asleep latency (15 minutes by
default). The card for 5 cycles (~7.5 hours) is highlighted as the everyday sweet
spot for most adults, while 6 cycles (~9 hours) suits teenagers and heavy-training days.
Everything is adjustable: real cycles vary from roughly 70 to 120 minutes between people and even across a single night, so you can change the cycle length, your fall-asleep time and the range of cycles shown. A separate panel answers the classic “if I fall asleep right now, when should I wake?” by reading your device clock, and an age guide translates the recognised nightly-sleep ranges into cycle counts.
Formula note
For a wake-up alarm at time A, cycle length C minutes, and fall-asleep latency L
minutes, the suggested bedtime for N complete cycles is:
bedtime = A − (N × C) − L
In sleep mode it flips to wake = bedtime + (N × C) + L. Time asleep is N × C
minutes; time in bed is N × C + L minutes.
Worked example
Suppose your alarm is set for 6:30 AM, you use the default 90-minute cycle, and
you typically take 15 minutes to fall asleep. The 5-cycle option needs 450 minutes
of sleep plus 15 minutes of latency, so lights-out should be at 10:45 PM — that is
6:30 − 7h 30m − 15m. Prefer a fuller night? The 6-cycle option (540 minutes asleep)
pushes bedtime to 9:15 PM. Running late and only able to manage 4 cycles? Bedtime of
12:15 AM still gets you six hours on a clean cycle boundary, which beats waking
mid-cycle at an arbitrary “7 hours”. Flip to sleep mode, enter a 11:00 PM bedtime,
and the tool instead lists wake times of 6:30 AM (5 cycles), 8:00 AM (6 cycles)
and so on.
Use these as practical guideposts, not strict rules — consistency of bedtime matters more than hitting any single minute, and this is educational guidance rather than medical advice.