An open-source bedtime calculator: give it the time you need to wake up or go to bed, and it lists times that line up with 90-minute sleep cycles, allowing 15 minutes to drift off. Free and ad-free, but the code has not changed since 2020.
Sleep Calculator Bot answers one question: when should I go to bed, or set the alarm, so that I wake up at the end of a sleep cycle rather than in the middle of one? It relies on the common rule of thumb that a cycle lasts about 90 minutes.
There are two commands. /sleep asks for the time you need to be up and returns bedtimes that give you from one to seven full cycles, that is 1.5 to 10.5 hours of sleep. /wake works the other way round: enter the time you are going to bed and it lists matching wake-up times. Both add 15 minutes for falling asleep. Times are typed as four digits in 24-hour format, so 11 pm is 2300.
The bot is open source: its Python code sits on GitHub under keithwongg/sleep-calculator-bot, and the README links this exact bot, which is how we know the two belong together. The same code shows it keeps no database of users and shows no ads.
The catch is age. The repository was created and last updated in August 2020, it is a small personal project, and it stores the /wake-or-/sleep choice in one variable shared by everyone, so two people using it at the same moment could get each other’s mode. The 90-minute cycle is also an average, not a measurement of your own sleep.
/startShow instructions/sleepFind bedtimes for a wake-up time/wakeFind wake-up times for a bedtimeFree Fully free, no limits
| Criterion | Weight | Points | |
|---|---|---|---|
| Functionality | 25 | 4 / 10 | |
| Reliability & speed | 15 | 4 / 10 | |
| Popularity & trust | 15 | 2 / 10 | |
| Price & free tier | 10 | 10 / 10 | |
| Usability | 10 | 6 / 10 | |
| Safety & privacy | 10 | 8 / 10 | |
| Freshness | 5 | 2 / 10 | |
| Localization | 5 | 10 / 10 | |
| No intrusive ads | 5 | 10 / 10 | |
| Score | 100 | 53.5 |
The bot assumes a sleep cycle of about 90 minutes and suggests times at the end of whole cycles, plus 15 minutes to fall asleep. Real cycles vary between people and between nights, so treat the result as a starting point.
No. It only calculates times from what you type; there is no tracker, reminder or history, and the code keeps no user database.