Sleep Cycle Calculator
Sleep happens in cycles of roughly 90 minutes, and waking up at the END of a cycle (rather than in the middle of one) tends to feel far less groggy. This calculator works backward or forward from a target time in whole 90-minute cycles, plus about 15 minutes to actually fall asleep.
How it works
If you want to wake up at a certain time, the calculator subtracts whole 90-minute cycles (plus a 15-minute buffer to fall asleep) to suggest bedtimes. If you're going to bed at a certain time, it adds cycles forward to suggest wake-up times.
Bedtime = wake time - (cycles x 90 + 15) minutes | Wake time = bedtime + 15 + (cycles x 90) minutesExample. To wake up at 7:00 AM, going to bed at 11:15 PM gives 5 full cycles (7.5 hours) of sleep.
Why cycles matter more than just hours
Waking up mid-cycle - during deep sleep, for example - is what makes an alarm feel especially jarring even after 7-8 hours in bed. Timing your wake-up to land between cycles, at a whole multiple of about 90 minutes, tends to feel noticeably more refreshed even at a similar total sleep duration.
Frequently asked questions
Is 90 minutes an exact number for everyone?
No - it's a useful average. Individual sleep cycles typically range from about 70 to 120 minutes and can vary night to night. Treat these times as a good starting estimate to experiment with, not an exact science.
How many cycles should I aim for?
5 cycles (7.5 hours) is a common sweet spot for adults, but individual needs vary - some people feel best on 6 cycles (9 hours), especially when younger or more physically active.
Related calculators
Embed this calculator
Free to use on any site. Please keep the credit link.
<iframe
id="letmecalc-sleep-calculator"
src="https://letmecalc.com/embed/health/sleep-calculator"
title="Sleep Calculator"
width="100%"
height="620"
style="border:0;max-width:100%"
loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/health/sleep-calculator" target="_blank" rel="noopener">Sleep Calculator</a> by letmecalc</p>
<script>
(function () {
var f = document.getElementById("letmecalc-sleep-calculator");
window.addEventListener("message", function (e) {
if (e.origin !== "https://letmecalc.com") return;
if (!f || e.source !== f.contentWindow) return;
var d = e.data;
if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
if (typeof d.height === "number" && d.height > 0) {
f.style.height = d.height + "px";
}
});
})();
</script>