Random Item Picker
Paste a list of items, pick one or more entries at random, and review the remaining items and draw history.
All results from this draw
- Selected items will appear here after a draw.
- This draw
- 0
- Currently available
- 0
- History rounds
- 0
Remaining items
- No items remain.
Draw history
- History will appear here after a draw.
Copied text has no numbering; each selected item appears on its own line.
Learn more
Draw method and no-duplicate rules
Secure random selection
The tool removes blank lines first and gives every input line its own identity. Random indexes come from browser Web Crypto and use rejection sampling instead of direct modulo mapping.
Without replacement uses a partial Fisher–Yates shuffle and moves only the range needed for the draw. With replacement samples from the current pool for every pick.
Without replacement vs. excluding history
Without replacement prevents the same input line from appearing twice in one round. Excluding history removes lines picked in earlier rounds from the next available pool.
How duplicate text is treated
Two lines with identical text are still two separate items. This preserves the actual weight of the input; clean the list first if you need unique text only.
Limits, privacy, and appropriate use
The tool accepts up to 1,000,000 characters, 50,000 input lines, and 1,000 picks per round. History keeps up to 100 rounds and removes the oldest entries beyond that.
Everything runs locally in the browser. The list is not uploaded, no remote API is used, and nothing is written to localStorage. Clipboard access happens only after you choose Copy.
Use this for everyday choices and entertainment, not regulated drawings or medical, legal, financial, or safety-critical decisions.
Tool information and sources
The random source follows MDN's Crypto.getRandomValues guidance, and the no-replacement method follows the Fisher–Yates approach described by NIST. No third-party runtime library is used.
Frequently asked questions
What is the difference between with and without replacement?
With replacement lets the same input line be selected more than once in a round. Without replacement allows each input line at most once in that round.
Why are no items available after I exclude previous picks?
The history has already covered every input line. Clear the history, turn off the exclusion option, or add more items to continue.
Why is the history cleared when I edit the list?
Changing the lines changes the identity of the available pool. Clearing old history prevents items from the previous list being excluded from the new one.