Why isn't iTunes shuffle random? This is a problem that has bugged me for the last 5 years, across multiple devices, operating systems and installs of iTunes and iPods.

I have found that the iTunes shuffle feature does not randomly shuffle songs. In fact, I can accurately predict the exact sequence of songs that iTunes will play. This frustrates me to no end because I like to listen to my music randomly, but I have a few favourite songs that I always start out with.

For example, if I select the song 'Somebody That I Used To Know' by Gotye, it will always follow with this exact sequence of songs:


Blame It On The Tetons by Modest Mouse
Girl You Have No Faith In Medicine by The White Stripes
Mombassa by Hans Zimmer, from the Inception Soundtrack
Break of Dawn by Michael Jackson
Missing Words by Mark Ronson and the Business International


The method I use to start the songs does not matter. I have tried selecting the song in iTunes, searching for it and playing it with Coversutra, or searching for it from within iTunes, playing the song and then clearing the search. All three methods will play the exact same sequence of songs.

I thought this might be due to the same seed being used, but I get the same sequence after restarting iTunes or even my computer. The sequence is the same across different days as well. Waiting for the song to finish or hitting next does not change anything either.

I have had this problem (but with different sequences) for as long as I can remember on my Windows PC, MacBook and my iMac. All different versions of iTunes and operating systems, spanning 5 years.

Why does iTunes fail so hard and something that is so easy? Is there any way I can fix this?
The Summary Version

It is random, but the order is only shuffled once, when you turn random play on. If you want to re-shuffle the order, turn random play off and then on again.

The Detailed Version

I don't think this is a bug, it's a feature. Though I can understand how it might seem broken.

iTunes doesn't shuffle the order of the tracks every time you hit play (or any other control button). Another way of saying this is: it uses the same seed for your playlist every time until you tell it to use another seed.

This may seem contrary to the idea of shuffle but it actually serves a purpose: it lets the skip back and skip forward buttons work in a manner that makes sense. I can move back 5 songs while it's on shuffle to hear the song I heard 5 songs ago, and then iTunes plays through all the songs I just heard to get me back to the spot I was at before going back 5 songs.

I do believe the ordering is truly random the first time it's generated. The problem is it's never obvious how to re-generate the ordering after that so your brain, which is really good at recognizing patterns as that's a handy survival skill when you're hunting and gathering, starts to learn the order over time. It starts to find patterns.

You can see this is the case with this little experiment. Set iTunes to shuffle your entire library. Pick a track. Play 5 tracks and write them down. Now pick any other track and let iTunes play one or two songs after that. Now go back to your first track and play from there again. It'll play that track and the same five after it that you wrote down. Changing tracks didn't reseed the random number generator.

The traversal through your tracks is truly random, but that random order isn't refreshed often enough so it starts to feel non-random.

So how do you get iTunes to generate a new shuffle order?

You uncheck and recheck the shuffle button. Doing this causes iTunes to recreate the random traversal path through your playlist (or entire library). It re-seeds the random number generator.

You can convince yourself this is true with a little experiment. Take an album that has track numbers in the meta data and select tracks 1 through 5 then select File -> New Playlist from Selection... from the menu. You'll now have a playlist with 5 songs in it.

Select that playlist and make sure that the shuffle button is unlit and that the track numbers are showing in the window. iTunes will show you the tracks in order: 1, 2, 3, 4, 5.

Now hit the shuffle button.

iTunes will show you the tracks out of order. I get: 4, 2, 1, 3, 5.

Now hit the shuffle button to turn it off. And turn it on again.

I now get: 5, 2, 3, 4, 1.

Repeat as many times and needed to convince yourself that iTunes is actually regenerating a random traversal sequence through the tracks in your playlist.

It's the same thing for traversing your entire library: if you never uncheck and recheck the shuffle button the order never gets regenerated so things will start to seem non-random. After I unchecked and rechecked shuffle and began playing my entire library from my original starting track from my second paragraph above I got 5 different songs after it this time. So the order was changed, it's just less obvious when you're looking at your entire library instead of a playlist.

There's a caveat to all of this: iTunes DJ (aka Party Shuffle) works differently. With Party Shuffle you can influence the selection so that there's weighting given to more popular songs in your library. This obviously isn't random playback. So if you want truly random playback you want to shuffle your entire library from the Music view in the sidebar, not the iTunes DJ view. And you want to uncheck and re-check that shuffle button before each listening session to keep it truly unpredictable.