# List Randomizer

Feed the randomizer any number of items (numbers, letters, words, IDs, names, emails, etc.) and it will return them in a truly random order, resulting in a randomly shuffled list.

## Using the randomizer

Using this list randomizer you can shuffle any list in random order. It uses strong cryptographical algorithms to generate random numbers which are then used in an algorithm for unbiased randomization of the list items (more on this below). The result is a **truly randomly shuffled list** consisting of the initial items.

To use the list randomizer, simply enter a list of items of any sort, **one item per row** (copy/pasting from a spreadsheet works great). It could be a list of numbers, words, names, emails, countries, songs, tasks, and so on. This website uses a secure connection over HTTPS and does not store any of the information you enter in the field above, so the randomizer should generally be safe to use even for somewhat sensitive information, but it is best that you consult your information security officer if you have any concerns.

The easiest way to retrieve the randomized list is to select it all (Ctrl+A on a PC), and then copy it (Ctrl+C on a PC).

## How many items can the randomizer process?

The **maximum number of items per list the randomizer will process is 100,000**. If your items contain a lot of text this number may be subject to further restrictions such as the maximum request size allowed, or the memory limit allotted to our scripts. If you run into such issues, consider replacing the items with short numerical item IDs before feeding them to the randomizer / shuffler as a list.

## Example applications of the randomizer

A free online randomizer like this can have many possible uses. Here we list a few more common ones.

### Random Team Picker

The classic way to randomly distribute players across teams in a sports game or board game is to randomly draw names out of a hat. Using the list randomizer you can spread players into two or more teams fairly and without bias. Simply enter all the player names and click "Randomize list". If you need two teams, select the first half of the shuffled names for team 1 and the second for team 2. A similar process can be followed for any number of teams as long as the total number of players is divisible by the number of teams to fill. The same logic can be used to distribute students for school group projects.

Despite the above examples, it is more convenient to use our dedicated random team generator which supports multiple teams easily.

### Random Awards Picker

If you have a number of names, emails, or identifiers of some sort, and you want to randomly sort them so that only the top 1, 5, 10 etc. receive an award, you can enter the list and randomize it to obtain the list of winners. If the awards are numbered from, say, 1 to 10, you can dole out the awards following the order of the shuffled list.

### Randomly Distributing Chores or Tasks

In case you need to distribute chores or tasks over a group of people or over several days, you can use the list randomizer to achieve it. Simply list the chores or tasks and shuffle them. Then start with the first on the list and proceed till the end. Similarly, you can randomize a list of your child's names to determine in what order they will do the dishes, sweep the floors, or throw out the garbage in the next few days.

If you are a schoolteacher, you may use this to randomly pick students for different home assignments, projects, etc. While a physical spinning wheel might be more fun, using an online list randomizer is easier.

### Shuffling song lists

In yet another scenario, you might want to shuffle a list of songs, books, games, or other things you want to get in random order.

These are just several scenarios for using a list randomizer, but we are sure you can come up with many more.

## Is the randomized list truly random?

If your requirements for the randomness of the shuffle produced by our list randomizer are high, you may be wondering **if you can trust that our randomizer engine results in unbiased shuffles**. Bias here has the technical meaning of 'systematically skewed'. In list shuffling a systematic skewness will be exhibited if items in a certain position in the initial list have an expected probability for ending up in a given position in the shuffled list which is different than the probability of ending up in any other position.

In order to **check the randomizer unbiasedness**, we devised a straightforward **simulation**, consisting of shuffling a list of 4 items 4,000,000 times. For simplicity, the four items were the numbers 1, 2, 3, and 4, fed to the list randomizer each time in that order.

The results were collected and for each of the four possible positions we summed up the numbers that ended up there in the 4,000,000 simulations. This is the resulting histogram:

As you can see, there is no list randomizer bias towards any of the positions, each having a sum of approximately 1,000,000 out of the total sum of 4 million. A statistical goodness-of-fit test was conducted which resulted in a p-value of 0.86, firmly indicating conformity to the expected uniform distribution. As a further precaution we examined the distributions of ones, twos, threes and fours in all positions and found them to be **uniformly distributed** across them. Goodness-of-fit tests were performed for each of these and the results were again within the expected bounds, confirming that our randomizer produces truly random shuffled lists which should be safe to use in any application requiring robust randomness in the shuffle.

## Shuffling algorithm used in the randomizer

For this list randomizer we employ the robust, efficient, and unbiased **Fisher–Yates shuffle**^{[1]}, also known as the **Knuth shuffle**. In particualr, we implement its modern variant (the initial algorithm was for pen, paper, and a dice!) as described in Richard Durstenfeld's 1964 work^{[2]}. The algorithm was popularized by D.Knuth in his book "The Art of Computer Programming".

The random numbers required for the algorithm's application and thus the randomizer to function are generated using a cryptographic pseudo-random number generator (CPRNG) supplied by urandom, the Linux kernel's random number source.

## Randomizer vs. Randomiser

A brief not for those of you who might be confused and wondering as to the correct spelling of the word. Both are correct, however. 'Randomizer' is the American version while 'Randomiser' is the preferred spelling in British English.

#### References

[1] Fisher, R.A., Yates, F. (1948) [1938] "Statistical tables for biological, agricultural and medical research" (3rd ed.), *London: Oliver & Boyd* pp.26–27.

[2] Durstenfeld, R. (1964) "Algorithm 235: Random permutation", *Communications of the ACM* 7(7),p.420. DOI:10.1145/364520.364540

[3] Knuth, D. E. (1969). "Seminumerical algorithms. The Art of Computer Programming." 2, *Reading, MA: Addison–Wesley* pp. 139–140.

#### Cite this randomizer & page

If you'd like to cite this online randomizer resource and information as provided on the page, you can use the following citation:

Georgiev G.Z., *"List Randomizer"*, [online] Available at: https://www.gigacalculator.com/randomizers/randomizer.php URL [Accessed Date: 02 Apr, 2020].