Health & timeFreeNo signup
Free sleep cycle calculator. Find the best bedtime or wake-up time using 90-minute sleep cycles so you feel more rested.
Last updated 14 October 2026
Pick a mode and calculate.
Sleep usually rotates through light, deep, and REM stages in cycles of about 90 minutes. This calculator suggests bed or wake times around complete cycles.
Not medical advice.
It adds or subtracts whole 90-minute blocks. That is the entire calculation. Give it a wake-up time and it counts back six, five, four and three blocks, adds the minutes you say you need to fall asleep, and prints the four bedtimes that result. Switch it to the other mode and it reads the clock at the moment you press the button and counts the same four blocks forward.
Everything below is what that simple arithmetic does and does not tell you, measured against this page as it is published.
The cycle length in this tool is hardcoded at 90 minutes. It does not adapt to your age, your recent sleep, or anything you type. The National Heart, Lung, and Blood Institute, part of the US National Institutes of Health, describes the cycle differently: “The cycle starts over every 80 to 100 minutes,” and “Usually there are four to six cycles per night.”
That 20-minute spread compounds every time the tool adds another block. Six cycles at 80 minutes is 8 hours. Six cycles at 100 minutes is 10 hours. This page will tell you 9.0 hours, confidently, to one decimal place. So the bedtime it gives you for six cycles can be an hour early or an hour late against where your own cycle boundary actually falls, and at three cycles the same reasoning gives half an hour either way.
This is worth saying plainly because the output format invites more trust than the arithmetic deserves. “9:45 PM” looks like a measurement. It is 7 o'clock the next morning minus six times ninety minutes minus fifteen, and nothing else.
The tool always offers exactly four rows, for six, five, four and three cycles. On its own numbers those are 9.0, 7.5, 6.0 and 4.5 hours of sleep. It never offers seven cycles, and it never offers two.
The US Centers for Disease Control and Prevention publishes a recommended amount of sleep by age: adults aged 18 to 60 need “7 or more hours”, adults 61 to 64 need “7-9 hours”, and adults 65 and older need “7-8 hours”. Measured against that, two of the four rows this tool presents, the 6.0-hour and 4.5-hour options, are below the recommendation for every adult age band, and they are presented in the same visual style as the other two. The tool is not recommending them. It is listing them. Read the list that way.
The minutes-to-fall-asleep field is clamped internally to the range 0 to 240. The field itself carries a maximum of 120. Those two numbers disagree, and the code wins, so a value typed straight into the box behaves differently from one reached with the spinner arrows. Measured:
200 is accepted and used in full, even though the field's own maximum is 120.241 or 9999 computes with 240. The box still shows the number you typed. The result line is the only place the real figure appears: it reads “incl. 240 min to fall asleep”.-5 computes with 0, and again the box keeps the -5.20.7 computes with 20, not 21. The decimal is cut off, not rounded.1e3 computes with 1, not 1000. The number is read with parseInt, which stops at the first character that is not a digit.In every one of those cases the result line names the value actually used. That line is the thing to read if you have typed anything unusual, because the input box will not correct itself.
The output is times only. Ask for a 7:00 AM wake-up with 15 minutes to fall asleep and you are given 9:45 PM, 11:15 PM, 12:45 AM and 2:15 AM. The first two of those are the previous evening and the second two are the small hours of the morning you are waking in, and nothing on the page says which is which. Ask for a 4:00 AM wake-up and all four bedtimes are the previous evening.
Whether the clock reads 9:45 PM or 21:45 is decided by your browser's language setting, not by anything on this page. There is no 12-hour or 24-hour switch, and no seconds: everything is rounded to the minute.
If what you actually need is the gap between two clock times, Hours and Minutes Calculator does that without the cycle model on top. For a count of days rather than hours, use Days Between Dates.
1e3 is read as 1 and 20.7 as 20: parseInt stops at the first character that is not part of an integer. developer.mozilla.orgEvery behaviour and every value on this page was measured against this tool as it is published, in a browser, on 14 October 2026. Where the page says what the tool does not do, that is a statement about this tool, not about sleep.
This tool uses 90 minutes for every cycle, always. The National Heart, Lung, and Blood Institute gives the range as 80 to 100 minutes, with four to six cycles in a night. The difference matters more than it sounds: six cycles is 8 hours at the short end of that range and 10 hours at the long end, while this page will print 9.0 hours either way.
Because the code counts six, five, four and three cycles and stops. There is no seven-cycle option and no two-cycle option. On the tool's own 90-minute figure the four rows are 9.0, 7.5, 6.0 and 4.5 hours of sleep.
No, and the tool does not say so. The 4.5-hour and 6.0-hour rows are both below the CDC's recommendation of 7 or more hours for every adult age band. They are listed as arithmetic, not offered as advice.
Because anything above 240 is treated as 240, and the input box keeps showing what you typed rather than correcting itself. The result line is where the real figure appears, as “incl. 240 min to fall asleep”. The same thing happens downward: a negative number is treated as zero.
The number is read as an integer and anything after the decimal point is discarded rather than rounded. The same rule explains a stranger case: 1e3 is read as 1, not 1000, because the reading stops at the letter.
Both, in their own way. The input box advertises a maximum of 120, which is what the spinner arrows obey, while the calculation accepts anything up to 240. A typed 200 is therefore used in full. This is an inconsistency in the tool, and it is disclosed here rather than quietly corrected.
The output has no dates, only times. For an early wake-up most or all of the suggested bedtimes fall on the previous evening. A 7:00 AM wake-up gives 9:45 PM and 11:15 PM the evening before, then 12:45 AM and 2:15 AM on the morning itself.
No. The calculation runs entirely in your browser, nothing is stored, and no wake-up time or bedtime leaves your device. There is no account and no history.