induwara.lk
induwara.lkHealth · Sleep

Sleep Cycle Calculator — Best Bedtime & Wake Time

Enter your target wake-up time and get bedtime options that align with full 90-minute sleep cycles — so the alarm rings during light sleep instead of deep sleep. Or flip it: enter when you're going to bed and see the best times to wake up.

By Induwara AshinsanaUpdated May 11, 2026
Plan your sleep cycles90-min REM cycles
Sources cited · 2026

When does your alarm need to ring? Enter 24-hour time.

Quick presets

Bedtimes that land your alarm on a cycle boundary

Be in bed by
Bare minimum
1:45 AM
3 cycles · 4h 30m of sleep
Be in bed by
Short
12:15 AM
4 cycles · 6h of sleep
Be in bed by
Recommended
10:45 PM
5 cycles · 7h 30m of sleep
previous evening
Be in bed by
Ideal
9:15 PM
6 cycles · 9h of sleep
previous evening

Calculations use a 90-minute cycle and a 15-minute fall-asleep buffer. Adjust either if your own pattern differs. Sources: Sleep Foundation, NIH NHLBI, CDC, NHS — full links in the sources section below.

How it works

Sleep is not one long block. It cycles through stages of light NREM, deep NREM, and REM, with one complete loop taking around 90 minutes for a typical adult. The Sleep Foundation places the normal range at roughly 70 to 120 minutes; the National Heart, Lung, and Blood Institute describes the same architecture. Cycles repeat 4-6 times across a healthy night.

The grogginess you feel when an alarm goes off mid-cycle is called sleep inertia. It comes from being woken during deep NREM (slow-wave) sleep, when the brain's metabolism is at its lowest. Setting the alarm at the end of a cycle — when sleep is naturally lighter — sidesteps that, even if total sleep time is unchanged.

The math is straightforward. For a target wake time W, a sleep-onset buffer L (default 15 minutes per the NHS reference), and a cycle length C (default 90 minutes):

  • Bedtime for n cycles = W − L − n × C
  • Sleep onset for n cycles = W − n × C

For the reverse direction — “I'm going to bed at this time, when should I wake?” — the calculator adds the latency first to get actual sleep onset, then adds n complete cycles:

  • Wake time for n cycles = B + L + n × C

The CDC recommends adults aged 18-60 sleep at least 7 hours per night. Five 90-minute cycles is 7.5 hours, which sits in that band; six cycles (9 hours) is the upper edge of healthy adult need. The same guidance is age-banded: teenagers need 8-10 hours and school-age children 9-12. If you are checking which band a child falls into, our age calculator gives an exact age in years, months, and days. The calculator labels options accordingly so “recommended” and “ideal” stand out from the “short” (6h) and “bare minimum” (4.5h) backup options.

Cycle length is the one assumption worth tuning. The 90-minute figure is a population average; a real cycle runs anywhere from about 70 to 120 minutes, and the first cycles of the night are usually shorter and richer in deep NREM while later ones lengthen and tilt toward REM. That drift is why a single fixed number can never be perfect — it is a planning aid, not a clinical measurement. If you wake groggy at the suggested times for a week straight, nudge the cycle-length field to 85 or 95 minutes and the whole grid of bedtimes shifts with it.

Edge cases are handled explicitly. When a target wake time minus the required sleep lands before midnight — for example a 5:00 AM alarm with nine hours of sleep, which puts bedtime around 7:45 PM the previous evening — the result wraps cleanly via modulo-24-hour arithmetic and is flagged “previous evening” so you are not misled. The reverse direction wraps the same way: a late bedtime can push the wake time past midnight into the next morning, and that tile is labelled too. Daytime sleepers and shift workers get identical math, because the cycle structure does not care where on the 24-hour clock the block of sleep sits.

Times are computed in integer minutes with explicit modulo-24-hour wrap-around, then cross-checked against a parallel implementation using JavaScript Date arithmetic. The two methods must agree to the minute for every input.

Sleep and the rest of your routine

Cycle timing is one lever among several. Total sleep duration, light exposure, caffeine timing, and consistency of your schedule all move sleep quality more than landing an alarm on a perfect boundary. Treat the suggested bedtimes as a target to build a routine around, not a rule to obsess over to the minute.

If you are tuning sleep alongside broader health goals, two other modifiable inputs are worth a look: the BMI calculator gives a quick read on weight relative to height, and the water intake calculator estimates a daily hydration target. Neither replaces medical advice, but together with consistent sleep they cover three of the simplest habits to track.

Worked examples

Scenario

Alarm at 6:30 AM

  1. Target wake: 06:30. Latency: 15 min. Cycle: 90 min.
  2. 6 cycles (9h): 06:30 − 15m − 9h00m = 9:15 PM the night before
  3. 5 cycles (7.5h): 06:30 − 15m − 7h30m = 10:45 PM
  4. 4 cycles (6h): 06:30 − 15m − 6h00m = 12:15 AM
  5. 3 cycles (4.5h): 06:30 − 15m − 4h30m = 1:45 AM
  6. Aim for 10:45 PM (5 cycles) for the recommended adult target.

Scenario

Going to bed at 10:00 PM

  1. Target bed: 22:00. Latency: 15 min. Onset: 22:15.
  2. 3 cycles (4.5h): 22:15 + 4h30m = 2:45 AM
  3. 4 cycles (6h): 22:15 + 6h00m = 4:15 AM
  4. 5 cycles (7.5h): 22:15 + 7h30m = 5:45 AM
  5. 6 cycles (9h): 22:15 + 9h00m = 7:15 AM
  6. Set the alarm at 5:45 AM for 5 full cycles.

Scenario

Edge case — early-start shift, wake at 5:00 AM

  1. Target wake: 05:00. Latency: 15 min. Cycle: 90 min.
  2. 6 cycles (9h): 05:00 − 15m − 9h00m = 7:45 PM (previous evening)
  3. 5 cycles (7.5h): 05:00 − 15m − 7h30m = 9:15 PM (previous evening)
  4. 4 cycles (6h): 05:00 − 15m − 6h00m = 10:45 PM (previous evening)
  5. Pre-midnight bedtimes are normal here; the calculator labels them.

Scenario

Edge case — late bedtime that wraps past midnight, bed at 11:45 PM

  1. Target bed: 23:45. Latency: 15 min. Onset: 00:00 (next day).
  2. 3 cycles (4.5h): 00:00 + 4h30m = 4:30 AM (next morning)
  3. 4 cycles (6h): 00:00 + 6h00m = 6:00 AM (next morning)
  4. 5 cycles (7.5h): 00:00 + 7h30m = 7:30 AM (next morning)
  5. 6 cycles (9h): 00:00 + 9h00m = 9:00 AM (next morning)
  6. Onset itself crosses midnight; every wake time is flagged 'next morning'.

Frequently asked questions

Sources & references

References last cross-checked on 2026-05-11. Public-health guidance pages don't shift often; this page is reviewed yearly and any time a cited body publishes updated guidance.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want to suggest an improvement?

Email me at [email protected] — most fixes ship within 24 hours.