How to randomize a list
- Paste your list. Put one item per line into Items (one per line), or Import a .txt or .csv file. The counter shows how many items you have.
- Set the options. Tick Keep first line as header if your list starts with a column name, and pick an Output: Numbered, Plain or CSV.
- Press Randomize list (or the Space bar). The new order appears under Random order.
- Use the result. Copy puts it on your clipboard in the output format you chose, Download .txt and Download .csv save it as a file, and Use as input makes the new order your working list.
- Need another order? Press Randomize again. Your last 50 orders are kept in History on this device.
What to use a random order generator for
Whenever a list has to be worked through in some order and nobody wants to choose it, a random order is the fair answer:
- Presentation order for a demo day, a hackathon or a training where every team presents once.
- Stand-up rota so the same person doesn’t always speak first or last.
- Agenda items for a retro or a club meeting, to stop the loudest topic from always going first.
- Draft or turn order for a league, a quiz or a game night.
- Playlist or tasting order for a party, a wine or coffee tasting, or a bake-off.
- Chores rotation for a shared flat or a family, shuffled once a month.
- Participant order for interviews or user tests.
Unlike a random name picker, nobody “wins” here: paste names, and this name randomizer generator gives every person a place. The place is what’s random. Need groups instead? The team generator splits a list into teams.
Options explained
- Keep first line as header — off by default. When on, line 1 stays first and isn’t shuffled or numbered; use it for spreadsheet columns with a title.
- Output: Numbered — “1. Product demo”, “2. Q&A” and so on; best for agendas and rotas.
- Output: Plain — just the items in their new order, ready to paste back into a spreadsheet column.
- Output: CSV — two columns,
positionanditem(or your header), for spreadsheets and other tools. - Download .csv always saves the two-column CSV, with a byte-order mark so accented names open correctly in Excel.
How the shuffle works (every order equally likely)
The randomizer uses the Fisher–Yates shuffle. It fills the new list from the last place to the first, and for each place it picks one of the items not yet placed, each with exactly the same chance. The choices come from your browser’s secure random generator (crypto.getRandomValues), with rejection sampling so no item is favored by rounding. The result is that every possible order of your list is equally likely: for 3 items, each of the 6 orders turns up about one time in six. A person choosing an order has favorites without meaning to; a generator has none and can’t be steered. A header line you keep is set aside before shuffling. Check fairness under the tool shuffles your list thousands of times and shows how often each item came first. Nothing you paste is uploaded.
Tips for spreadsheets
Copy a whole column from Excel, Google Sheets or Numbers and paste it into the box: each cell becomes one line. Choose Output: Plain and press Copy to paste the shuffled column straight back. If your column has a title, tick Keep first line as header so it stays on top. For data with several columns, shuffle a column of row numbers here, then sort your sheet by that column, so every row keeps its data together. Need the numbers 1 to 30 in random order? Ask the random number generator for 30 numbers from 1 to 30 with no repeats. For random words rather than your own list, try the random word generator.
FAQ
How do I put a list in random order?
Paste your list into Items (one per line) and press Randomize list or the Space bar. The new order appears next to your list, numbered from 1. Press Copy to put it on your clipboard, or Randomize again for a different order. Your original list stays as it was unless you press Use as input.
Is every order equally likely?
Yes. The list randomizer uses a Fisher–Yates shuffle driven by your browser's cryptographic random number generator. For a list of 3 items, each of the 6 possible orders has exactly the same chance; for longer lists the same holds for every possible order. The method avoids the small bias that simpler shuffles have.
Can I keep the header row of my CSV in place?
Yes. Tick Keep first line as header and the first line stays on top while only the lines below it are shuffled. The header isn't counted or numbered, and in the CSV download it names the item column. Untick it when your list has no header line.
Can I randomize a list of numbers?
Yes. Paste the numbers one per line, such as seat numbers or ticket numbers for a work event, and press Randomize list. As a number randomizer, it keeps every value and changes only the order. If you need new random numbers in a range rather than a reordered list, use a random number generator instead.
Can I use it to randomize study participants?
It gives a fair, uniform random order of any list, which is fine for informal pilots, user tests or deciding who is interviewed first. Formal trials usually need documented allocation methods such as blocks or strata, concealment and audit trails, so follow your study protocol and your ethics board's rules for those.
How long can my list be?
Up to 10,000 lines of up to 200 characters each. Extra lines are ignored with a message, and longer lines are shortened. You can paste from a spreadsheet column or import a .txt or .csv file up to 2 MB; for a CSV file, the first column is used.
How do I shuffle a list in Excel instead?
Put =RAND() in the column next to your list, fill it down, then sort both columns by the RAND column. It works, but the values change on every edit and the result isn't easy to repeat or share. Pasting the column here gives the same kind of shuffle in one click, with a numbered result ready to paste back.
How do I make my own random list generator?
Use the Fisher–Yates shuffle with a good random source. In Python, random.shuffle(items) does it, and random.SystemRandom().shuffle(items) uses the operating system's secure source when people must trust the result. In JavaScript, swap each item from the last one down with a position chosen by crypto.getRandomValues. Sorting with Math.random() - 0.5 looks random but is biased.
Updated November 7, 2026