Enter items to pick from:

Drop file to load list
đź’ˇ Drag & drop a .txt or .csv file onto this box to replace the current list
  • Pick {{index+1}}:{{pick}}

Random Picker is a quick-fire decision-making utility that empowers you to impartially choose items, participants, or numbers at the touch of a button. By combining mathematically sound randomness with an intuitive interface, it eliminates bias and accelerates everything from giveaways to team tasks, letting you focus on outcomes instead of deliberation.

Upload a text or CSV file, paste content, or drag-and-drop directly onto the list area—Random Picker instantly removes duplicates, ignores blank rows, respects your unique-once rules, and caches settings locally. Copy results to the clipboard in a single click for smooth transfer into chats, documents, or codebases.

Designed for teachers, streamers, facilitators, and agile teams, Random Picker scales from classroom name rolls to large-scale raffle draws. A responsive Bootstrap layout ensures clarity on any device, while lightweight Vue 3 logic delivers fast, client-side calculations without server latency, meeting modern accessibility and privacy standards.

Technical Details

The application pairs Vue 3 Options API with Bootstrap 5 styling to deliver secure, responsive randomization.

  • Client-side RNG seeded by Math.random() with unbiased index selection
  • Drag-and-drop import accepting .txt and .csv files up to 2 MB
  • Deduplication via JavaScript Set to maintain list integrity
  • Live watch handlers auto-re-pick on parameter change for instant feedback
  • Clipboard copy with native API fallback for legacy browsers
  • Persistent state stored under localStorage.key = "pickerData"
  • Graceful UI feedback using contextual Bootstrap utility classes
Parameter Type Default Description
listString10 demo namesSource items separated by line breaks
pick_countNumber3Total results returned per draw
uniqueBooleantrueDisallow repeats within the same run
ignore_blankBooleantrueSkip empty lines for cleaner pools
remove_duplicatesBooleantrueStrip duplicate entries before pick
// Minimal invocation
app.list = 'A\nB\nC\nD';
app.pick_count = 2;
app.list_pick();
console.log(app.picks); // > ["C", "A"]

Step-by-Step Guide

Follow these precise steps to generate fair, reproducible results:

  1. Click Enter items to pick from and paste or type every candidate on a new line.
  2. (Optional) Tip Drag a .txt/.csv file onto the textarea to auto-populate the list.
  3. Set Number of picks with the numeric spinner; values exceeding the list size trigger automatic capping.
  4. Toggle Pick only once per item to prevent repeats inside a single draw.
  5. Enable Ignore blank lines or Remove duplicate entries to sanitise imported data.
  6. Press Pick; results appear instantly and a Copied! button lets you export them to your clipboard.

FAQ

Find concise answers to frequent Random Picker questions below.

Does the tool require an internet connection?

No. All computations are performed client-side once the page is loaded.

How random are the selections?

The generator relies on JavaScript’s Math.random(), offering adequate uniformity for everyday use but not for cryptographic needs.

Can I retrieve a previous set of picks?

State persistence means your last picks remain until you close the tab or clear browser storage.

Is there a maximum list size?

Performance remains smooth up to roughly 5,000 lines; beyond that, memory constraints may appear on low-end devices.

Why does my CSV import show commas?

Ensure each item is on its own line; if commas remain, clean the file or switch to newline-delimited inputs before importing.

Troubleshooting

Resolve common issues quickly using the guidance below.

  • Blank Output: Verify that the list contains non-empty lines and Ignore blank lines is disabled if necessary.
  • Repeated Names Despite “Unique”: Check that remove_duplicates is active; duplicates in the source can bypass uniqueness.
  • Drag-Drop Inactive: Some outdated browsers block file drops—use the Import list button instead.
  • Clipboard Copy Fails:
    Browser permission or policy restrictions may block the Clipboard API. Use the manual copy fallback shown after clicking.
  • Slow Performance: Trim lists to under 5 K lines or switch off real-time auto-pick watch to speed up rendering.

Advanced Tips

Leverage these pro-level practices for maximum flexibility:

  • Save multiple curated lists as text files and import them on demand for different events.
  • Nest variables in URLs (e.g., ?list=A%0AB%0AC&pick_count=1) to preload specific scenarios.
  • Use browser developer tools to inspect localStorage.pickerData and archive historical draws programmatically.
  • Combine with screen-recording software to audit transparent draws during livestreams.
  • Integrate exported results into spreadsheets via clipboard for automated winner validation scripts.

Glossary

Key terms used throughout the documentation:

Pick Count
Number of items returned per random draw.
Unique Mode
A setting that ensures each item is selected at most once per run.
Deduplication
Process of removing identical entries before randomization.
Drag-and-Drop
Technique allowing file import by dropping a document onto the input area.
Clipboard API
Browser interface enabling programmatic copy or paste of text.
Embed this tool into your website using the following code: