Selected Items
{{ picks.length }} picked
{{ p }}
Unique Weighted Seed {{ seedDisplay }} Groups
Items List
Drop file to load list
Drag & drop a .txt or .csv to replace the list.
Default
Max/group
#ItemCopy
{{ i + 1 }} {{ p }}

      
History
  • {{ h.time }} {{ h.items.length }} items
    {{ h.items.join(', ') }}

Introduction:

Random selection helps you run fair draws, sample lists without bias, and make quick decisions when choices multiply. This utility performs transparent, reproducible selection from a text list, often called a raffle picker or chooser. Use it as a random name picker online to create winners, assignments, or presentation orders. You get clear odds, repeatable runs, and outputs you can share, supporting classrooms, workshops, community events, and lightweight audits without specialized software.

You provide items as plain text and may include simple attributes to influence eligibility or chance, such as relative weights and membership groups. The tool returns a set of picked items plus at-a-glance visuals and exportable artifacts. Inputs are text and numbers; outputs include tables, charts, and structured data suitable for records. Results support everyday fairness rules while avoiding complex configuration or format conversion steps that slow people down.

Imagine pasting a team roster, requesting several unique names, and limiting selections to one per department so representation stays balanced. If some entries deserve extra weight, assign higher values and run the draw with a human-readable seed you can share. The outcome explains who was eligible and why the order occurred. In regulated or high-stakes scenarios, document your configuration and keep exported records to support review and transparency.

Technical Details:

1) Concept Overview

The picker builds a candidate pool from a line-based list, supports optional weights for unequal odds, and can enforce uniqueness (no repeat within a draw) and per-group caps. A user-supplied seed produces a reproducible sequence; when omitted, the browser’s nondeterministic source is used. Import from text or comma-separated values occurs locally; results, statistics, and history are computed on your device and can be exported as comma-separated or JavaScript Object Notation for audit and reuse.

2) Core Equation or Process

When weighting is enabled, each candidate i with weight wi receives probability per draw:

p= wi wj

With weighting off, all wi are treated as 1 (uniform). For multiple picks, the engine draws sequentially; if uniqueness is on, the chosen item is removed before the next draw (sampling without replacement). Group caps restrict how many items from the same group may appear in one result set.

  1. Parse lines into a primary label with optional inline attributes after a pipe.
  2. Build candidates by excluding labels listed in the exclude set (exact, case-sensitive).
  3. Prefill picks with any must-include labels while honoring uniqueness and group caps.
  4. For each remaining slot, compute the eligible pool and select a weighted index.
  5. Record picks, local time, and seed in history; update charts and exports.

Inline attributes use key=value syntax after a pipe, for example: Alice | weight=3 | group=Team A. Keys are case-insensitive; non-positive weights are ignored.

3) Interpretation & Thresholds

Setting Eligibility Effect Probability / Order
Weights off All candidates equal p = 1 ÷ N per draw
Weights on Higher weight raises chance piwi
Unique picks No repeat of the same entry line Sequential without replacement
Group cap At most k items per group Later draws skip ineligible items
Must-include Reserves earliest slots Remaining slots randomized
Exclude Removes exact label matches Zero probability

Visuals include a wheel for picked items and bar charts showing relative odds (top candidates) and the distribution of weights. Sorting affects display and exported tables only, not the underlying selection mechanics.

4) Variables & Parameters

Parameter Meaning Unit/Datatype Validation / Bounds Notes
Items list One label per line; optional attributes after | string (multiline) Recognized keys: weight, group; others ignored.
Number of picks How many items to draw integer min 1; auto-capped by feasible pool Feasibility reflects excludes, uniqueness, and group caps.
Unique Disallow repeats within a draw boolean Heads-up Applies per entry line; duplicate labels on separate lines can still reappear.
Weights Use weight=… from each line boolean Default weight applies when missing; non-positive weights excluded.
Default weight Assumed when no weight is supplied number min 1 Inline weights may be fractional if greater than zero.
Exclude Labels to remove this round string (multiline) exact, case-sensitive One label per line; overrides must-include.
Must-include Labels guaranteed first string (multiline) trimmed; extras ignored Honors uniqueness and group caps.
Group rule & cap Limit picks from the same group boolean + integer cap ≥ 0; enforced only if > 0 Groups are read from group=… attributes.
Sort A→Z Alphabetize displayed picks boolean Affects display and CSV order only.
Seed String that makes draws reproducible string any string; blank → nondeterministic “Randomize” generates a time-stamped seed.
Import / Export Load or save lists and results .txt, .csv / JSON import accepts .txt, .csv Handled via browser file APIs; no upload.

5) Worked Example

List: A | weight=3; B | weight=1; C | weight=2. Unique on; one pick.

Compute probabilities:

W=3+1+2=6 pA=36=0.5 pB=16=0.1667 pC=26=0.3333

If the internal draw uses r = 0.50 on [0,1), the weighted index lands on A (cumulative 3 of 6), so A is selected.

6) Assumptions & Limitations

  • Label comparisons for exclude and must-include are exact and case-sensitive. Heads-up
  • Uniqueness removes only the selected entry line; duplicate labels on different lines can still reappear. Heads-up
  • Group caps apply only when the rule is enabled and the cap is greater than zero.
  • Non-positive weights are ignored; items with weight ≤ 0 are excluded from the pool.
  • Probability chart focuses on the top candidates when many items exist.
  • History keeps the most recent 20 draws and uses your device’s local time; it resets on refresh.

7) Edge Cases & Error Sources

  • All eligible weights sum to zero → fallback uniform selection over eligible entries.
  • Must-include labels missing from the list are skipped without error.
  • Requested picks may exceed the feasible pool due to excludes or group caps, returning fewer items than requested.
  • Whitespace or hidden characters in labels prevent matches for exclude and must-include.
  • Very large lists can reduce chart readability; the odds view truncates to leading candidates.

8) Scientific/Standards Backing

The engine uses a seeded 32-bit pseudorandom generator (sfc32) initialized from a 128-bit hash of your seed string; it suits general sampling but is not cryptographic. Useful references include Knuth’s “The Art of Computer Programming, Vol. 2,” NIST SP 800-22 on statistical testing of random sequences, and RFC 4086 on randomness requirements in security contexts.

9) Privacy & Compliance

Processing is entirely client-side: imports use browser file APIs, charts render locally, clipboard and downloads stay on your device, and no network requests are made by the tool. Outcomes are purely random and have no monetary value.

Step-by-Step Guide:

Configure a fair, reproducible draw and save artifacts for sharing or audit.

  1. Paste your list (one label per line) or import a .txt/.csv file.
  2. Set Number of picks and optionally a Seed for reproducibility.
  3. Toggle Unique and, if needed, enable Weights with a Default weight.
  4. Use Exclude and Must-include to refine eligibility.
  5. Enable Group rule and set a Max/group cap to balance representation.
  6. Pick, then review the table, wheel, and stats; copy or download CSV/JSON as needed.

Example: “A | group=Red”, “B | group=Blue”, “C | group=Red”; three picks; Unique on; Max/group 1; seed “demo-2025”. You will get up to one result per group in a reproducible order.

Export files to document inputs, configuration, and results for transparent decisions.

FAQ:

Is my data stored?
Nothing is uploaded or retained server-side. Lists, picks, charts, and history are computed in your browser; clipboard and downloads stay on your device. History clears on refresh.
How accurate is the randomness?
The generator is suitable for general drawings and classroom or team use. It is not cryptographically secure or gaming-grade. Use a published seed when you need reproducible verification.
What formats can I import?
Plain-text and comma-separated (.txt, .csv) files are accepted. Provide one item per line; optional weight=… and group=… attributes may follow the label after a pipe.
Can I reproduce a draw?
Yes. Re-use the same list, options, and seed to regenerate the same result. A “replay last seed” action also restores your most recent configuration.
Does it work offline?
Yes after the page loads. All processing is client-side, so picking, history, charts, and exports function without a network connection once the interface is available.
What does group cap do?
When enabled, it limits how many picks may come from the same group=… label in a single draw. The cap only applies if set above zero.
Why fewer picks than requested?
Excludes, must-includes, uniqueness, or group caps can reduce the feasible pool. The tool caps requested picks to the maximum possible and may return fewer when constraints prevent additional choices.
Do sorting or charts affect odds?
No. Sorting changes only presentation. Charts visualize relative odds and weights; they do not influence selection.
What license applies?
The package does not declare a specific license. Refer to the site’s terms of use before redistribution or commercial use.

Troubleshooting:

  • Import fails: ensure the file is .txt or .csv encoded as plain text.
  • Excluded label still appears: matches are exact and case-sensitive; trim whitespace.
  • Weights ignored: enable the Weights switch; default is equal odds.
  • Group cap not applied: turn on the rule and set a cap greater than zero.
  • Duplicate label selected twice: remove duplicate lines or leave uniqueness off.

Advanced Tips:

  • Tip Publish memorable seeds like “event-2025-q3” to make draws auditable later.
  • Tip Use fractional weights (for example 1.5) for subtle bias without extreme skew.
  • Tip Tag entries with group=… to mirror departments and cap per group for balance.
  • Tip Export JSON to preserve inputs, candidates, picks, and history for a clear audit trail.
  • Tip Use A→Z sorting to present results consistently; it does not change the draw itself.

Glossary:

Candidate
An eligible item after excludes are applied.
Weight (w)
Relative chance multiplier when weighting is enabled.
Unique pick
Sampling without replacement during a single draw.
Group cap (k)
Maximum items from the same group in one result.
Seed
String that initializes the generator for reproducible draws.
Must-include
Labels force-added before random selection.
Exclude
Labels removed from eligibility for the current round.
PRNG
Pseudorandom number generator; not cryptographic.
Relative odds
Percentage share of selection probability per draw.