Adult sleep · Problems
Review pending

Tired but can't fall asleep — five most likely causes.

The classic insomnia presentation isn't "I can't sleep." It's "I'm exhausted, I want to sleep, and I can't fall asleep." The body is tired. The brain isn't. Here are the five causes we see most, in order of frequency.

A person lying on a bed in a dark room
Photo by Alexander Krivitskiy on Unsplash

1 · Cortisol you didn't notice

Cortisol is supposed to peak in the morning and trough in the evening. Stress flattens the curve — your evening cortisol stays elevated, and you can't enter the parasympathetic state required for sleep onset.

The fix isn't "relax." Cortisol responds to physical signals: dim light, cool body temperature, slow breathing for 4+ minutes. A 90-second box-breath at the bedroom door before you start the routine is more effective than 30 minutes of mental "winding down."

2 · A sleep schedule that drifted

If your weekend bedtime is 90+ minutes later than your weekday bedtime, you're effectively flying east every Monday. The circadian system needs ~1 day to shift 1 hour of phase, so by Tuesday or Wednesday you're misaligned with your alarm.

Pull the weekend bedtime within 30 minutes of weekday bedtime. Wake time matters more than bedtime — anchor the wake side, even on weekends, even after a bad night.

3 · Caffeine you didn't account for

Covered in detail in our caffeine article — the short version is that caffeine's half-life is 5 hours on average and longer for slow metabolizers. A 2pm coffee at a 7-hour half-life leaves a meaningful residue at 11pm.

Tolerance hides this. You feel fine drinking coffee late. The caffeine still suppresses deep sleep. Test it: cut all caffeine after noon for 5 nights and see if onset speeds up.

4 · Light exposure 90 minutes before bed

Bright light suppresses melatonin. The threshold is around 100 lux for blue-rich light. A bathroom overhead is 200-500 lux. A phone screen at full brightness held 30cm from your face is ~40 lux at the eye, which is below the threshold but compounds with overhead lighting.

The fix is the cheapest one in this list: dim every light to under 100 lux 90 minutes before bed. Warm-white bulbs help, but lumen reduction matters more than color temperature.

5 · Conditioned arousal

If you've spent enough nights in bed unable to sleep, your brain learns to associate the bed with wakefulness rather than sleep. The bed itself becomes a stimulus that prevents sleep.

Cognitive Behavioral Therapy for Insomnia (CBT-I) addresses this with stimulus control: only get into bed when sleepy, and if you're awake more than 20 minutes, get out of bed and do something boring under dim light until sleepy. Boring is the operative word — no phone, no TV, no scrolling.

This works better than melatonin, sleeping pills, or any supplement. It's the most evidence-backed insomnia treatment available, and it's free.

Related tools

Related tools

How this was written

Synthesised from CBT-I literature, AASM clinical guidelines, and Walker/Roenneberg research on circadian misalignment. Reviewed by Logan Foley, CSSC. We update when new sleep-onset insomnia research changes the consensus order.

FAQ

FAQ

Should I take melatonin?

Melatonin is most effective for circadian misalignment (jet lag, shift work) at low doses (0.3-0.5mg) taken 4-6 hours before target bedtime. The 5-10mg doses sold OTC are pharmacological, not physiological — they often cause grogginess. Try the cause-1-through-5 fixes first.

How long does CBT-I take?

Most evidence-based protocols are 4-8 weeks of weekly sessions. The first improvements show up around week 2-3. Apps like Sleep Reset and CBT-i Coach (free, US Department of Veterans Affairs) deliver the protocol without a therapist.

Is screen time really that bad?

It's real but exaggerated. Screen content is more activating than the light. Doomscrolling at 100 nits is worse than a paper book at the same lux because the content keeps cortisol elevated. Boring or repetitive content under dim light is fine.

Related

Keep going

Reviewed by Logan Foley, CSSCreview pending