This post has been updated because in 2021 Spotify changed their loudness norms.
Spotify uses a loudness reference for normalising the loudness of a track. This way the tracks played in Spotify will sound more or less even in loudness.
UPDATE: Spotify no longer uses a limiter for the Normal setting. They DO apply positive gain for masters being lower than -14 LUFS but ‘leave 1 dB headroom for lossy encodings to preserve audio quality.’
Example: If a track loudness level is -20 dB LUFS, and its True Peak maximum is -5 dBTP (True Peak), we only lift the track up to -16 dB LUFS.
source
Three loudness norms
This -14 LUFS norm is just one part of the story because Spotify uses not one but three (!) settings for loudness: Quiet, Normal and Loud. You can change this under Settings > Volume level:
You can also disable Normalize volume. No loudness normalisation is applied to the music when using this setting.
Loud -11 dB LUFS
Normal (default) -14 dB LUFS
Quiet -23 dB LUFS
source
Notice that under Loud gain is added. Under this setting tracks will be set to a higher level when they are too soft.
Spotify will use a limiter for the Loud setting
UPDATE: Before 2021 also a limiter was used for the Normal setting, but since then it is only applied to the Loud setting.
Any masters lower than -11 LUFS will be raised in volume and a limiter will be applied applied. And this limiter, I found out, sounds shitty.
Check your ears
Listen to this piece of Mahler using the Loud setting and you’ll hear that the limiter is a bad thing for listening to music like this:
The solution?
It’s a wise move for Spotify to give up using a limiter for the Normal setting, which most people use. This might cause some volume differences between tracks but at least no additional bad sounding limiting is applied.
Many mastering engineers ignore these target loudness norms. I beg to differ. Knowing what you’re aiming for is best in my opinion.