Rain in front, thunder behind
The thunder recording measures 98% of its power below 250 Hz, with a spectral centre at 65 Hz — the lowest thing in the catalogue. Heavy rain sits at 2,148 Hz with a fifth of its power above 4 kHz. Put together they cover almost the whole range, which is why a storm feels enclosing in a way a single sound does not.
The order matters. Rain leads at 55% and thunder follows at 45%, so the rumble arrives as depth rather than as a bang. Reverse those numbers and you get a sound effect.
The mistake: a storm is not steady, and steady is what masking needs
Every other sleep preset here is built to disappear. This one is not, and it should not pretend otherwise. Thunder has peaks. A peak is a change, and a change is the exact thing that pulls a light sleeper towards the surface.
People choose a storm because it feels safe and enclosed, and that is a real reason. But if your goal is to stop a neighbour waking you, rain and brown noise will do it better and this page will not. Choose a storm for the atmosphere, knowingly.
Why the timer is an hour and not the night
An hour covers the part where atmosphere helps — winding down, reading, the first stretch of lying still — and stops before a rumble at 4am becomes the thing that wakes you.
If you want a storm all night, the chip is there and it is your call. Lower thunder to about 25% first, so the peaks flatten out.
Both layers, measured
Measured on 2026-09-04 from the exact loops this page loads, decoded to 48 kHz mono, loudness from the EBU R128 meter and the spectrum from an averaged 8192-point FFT.
| Layer | Preset level | Loop | Loudness | RMS | Centre | Low / mid / high |
|---|---|---|---|---|---|---|
| Heavy Rain | 55% | 16.9 s | -15.8 LUFS | -18.4 dBFS | 2148 Hz | 52.6% / 26% / 21.3% |
| Thunder | 45% | 40.01 s | -16.8 LUFS | -12.2 dBFS | 65 Hz | 98.4% / 1.6% / 0% |
- Heavy Rain loop join: the step between the loop’s last sample and its first measures 0.08× that file’s own 99.9th-percentile sample-to-sample move — inside the material, so a butt-join would not tick. The player overlaps each pass by 146 ms regardless.
- Thunder loop join: the step between the loop’s last sample and its first measures 2.8× that file’s own 99.9th-percentile sample-to-sample move — above the material, so a butt-join would tick. The player overlaps each pass by 143 ms regardless.
- What this preset cannot do: Thunder is the one loop in this set whose raw ends do not butt-join cleanly: the step at the wrap measures 2.8 times the file's own loudest sample-to-sample move. The player overlaps each pass by 143 ms, which is why you do not hear it — but on any player without that overlap, this file ticks.
Play thunderstorm sounds for sleeping
- Open this page in any browser.
- The preset is already applied: heavy rain at 55%, thunder at 45%, timer at 60 minutes.
- Press play and wait for one rumble before setting the level.
- If the rumble makes you open your eyes, drop thunder to about 25%.
Frequently asked questions
Are thunderstorm sounds good for sleeping?
Good for atmosphere, mixed for masking. Thunder has peaks, and peaks are changes, which is what wakes light sleepers. If your goal is covering a noisy neighbour, steady rain over brown noise works better.
How loud should thunder be under rain?
Below the rain. This preset holds rain at 55% and thunder at 45% so the rumble reads as distance. Above the rain it becomes a sound effect you keep listening for.
Why does the timer stop at an hour?
Because a storm helps most at the start of the night and interferes most at the end of it. An hour covers falling asleep. The all-night chip is there if you disagree.
How long are the two loops?
Heavy rain runs 16.9 seconds and thunder runs 40.01 seconds. They are different lengths, so the combination does not repeat on a fixed cycle you can learn.
Can I have rain without the thunder?
Yes — pull thunder to zero here, or use the rain preset, which pairs rain with brown noise instead and is built to disappear rather than to be noticed.