Shuffle Excel Rows Online — Free Random Sampler, No Upload, 1 Click
Randomly shuffle every sheet or draw a random sample of N rows, with a replayable seed. No upload, no sign-up — the file stays on your device.
Drop one .xlsx, .xlsm, or .xls file here, or click to browse
Supports .xlsx / .xlsm / .xls · processed locally · never uploaded
Fisher–Yates Shuffle and Replayable Seeds
Each sheet is shuffled with the Fisher–Yates algorithm: walking from the last data row back to the first, every row is swapped with a randomly chosen row ahead of it (itself included). Every possible ordering has exactly the same probability — no row is favored or left stuck in place.
| Original order | One possible shuffle |
|---|---|
| A, B, C, D, E | C, A, E, B, D |
| 1, 2, 3, 4, 5 | 4, 1, 5, 2, 3 |
The random numbers come from a small deterministic generator (mulberry32), and the seed is just its starting value. The same seed applied to the same file always produces the exact same row order, so you can write the seed down and replay or audit the shuffle later. Leave the seed box empty and a fresh seed is taken from the clock on every run, so each result is different.
Same seed + same file = identical result every time. Empty seed = a new random order on every run. The seed only changes the order — it never changes which rows exist.
Random Sampling: Shuffle Everything First, Then Take N Rows
The sample size is applied after the complete shuffle: all data rows are randomized first, and the first N rows of the shuffled order become the output. Because every position is equally likely, those N rows are a fair random sample without replacement — the same row can never appear twice.
When the first row is a header, it stays fixed on top and is not counted toward N: asking for 100 rows returns the header plus 100 data rows. Asking for more rows than the sheet contains simply keeps everything, and the report shows the real output count (rows in → rows out).
Leave the sample box empty to shuffle without dropping any rows. Sampling never duplicates rows; to draw multiple independent samples, run the tool again with the same or a different seed.
How to Shuffle Excel Rows Online
- Drop one .xlsx, .xlsm, or .xls workbook — everything is processed locally and never uploaded.
- Keep “First row is a header” checked (the default) so the header stays on top; uncheck it to shuffle every row including the first.
- Optionally enter a sample size to keep only N rows after shuffling — leave it empty to keep all rows.
- Optionally enter a seed (any text or number) for a replayable result; leave it empty for a fresh random order each time.
- Click Shuffle rows — every visible sheet is shuffled independently — then review the per-sheet report and download your-file-name-shuffled.xlsx.
When You Need This
- Random QC sampling: pull 50 random rows from a large export for a manual quality inspection.
- Questionnaire and survey data: shuffle response order before sharing so the original submission order cannot bias reviewers.
- Machine-learning and training data: shuffle rows before splitting into train/validation/test sets so records arrive in random order.
- Fair ordering: randomize presentation order for audits, spot checks, or giveaways where every record must have an equal chance.
Shuffling is destructive — the original row order cannot be recovered from the output (unless you keep both the seed and the original file). Work on a copy or keep the original workbook. The rebuilt .xlsx also simplifies cell styles, column widths, merged cells, charts, and formulas.
Every worksheet is shuffled independently: rows never cross between sheets, and each sheet draws its own random stream from the same seed, so shuffling a 10-row sheet does not affect a 10,000-row sheet next to it. Empty sheets are kept as-is, and internal metadata sheets (names starting with _) are ignored.
Limitations
- The output is a values-only .xlsx: styles, column widths, merged cells, charts, and formulas (written as cached values) are not carried over.
- Sampling is without replacement and covers whole rows; weighted or stratified sampling is not offered.
- All visible sheets are processed; shuffling only a selected range is not supported.
- Encrypted workbooks (a password is required to open) cannot be read.
- Legacy .xls files are accepted as input, but the result is always written as .xlsx.
Frequently Asked Questions
Is this Excel row shuffler really free?
Yes — 100% free, with no sign-up, no watermark, and no file limit. All processing happens in your browser.
Is the shuffle truly random and unbiased?
It uses Fisher–Yates, which gives every possible row ordering the same probability. Using a seed only makes the result deterministic and replayable — the randomness stays uniform.
What is a seed and why would I use one?
The seed is the starting value of the random generator. Same seed plus same file reproduces the exact same order, which is handy for audits, sharing, or re-running a draw. Leave it empty and every run differs.
How does random sampling work?
All rows are shuffled first and the first N are returned, without replacement. If N is larger than the number of rows, every row is kept; the header (when enabled) always stays on top and does not count toward N.
What happens to my header row?
With “First row is a header” enabled (the default), the header stays fixed on top, is never shuffled, and is not counted in the sample size.
Are all sheets shuffled together?
No. Each worksheet is shuffled independently from the same seed, and rows never move from one sheet to another.
Is my file uploaded to a server?
No. Parsing, shuffling, and rebuilding all happen in your browser with JavaScript. Your file never leaves your device.
Which formats are supported, and is formatting kept?
.xlsx, .xlsm, and legacy .xls on input; the result downloads as .xlsx. Cell styles are simplified, and password-encrypted files cannot be read.
Related Tools
Need to sort, filter, or edit rows instead of randomizing them?
Open the free online Excel editor