# | Item | Copy |
---|---|---|
{{ i + 1 }} | {{ p }} |
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.
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.
When weighting is enabled, each candidate i with weight wi receives probability per draw:
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.
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.
Setting | Eligibility Effect | Probability / Order |
---|---|---|
Weights off | All candidates equal | p = 1 ÷ N per draw |
Weights on | Higher weight raises chance | pi ∝ wi |
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.
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. |
List: A | weight=3; B | weight=1; C | weight=2. Unique on; one pick.
Compute probabilities:
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.
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.
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.
Configure a fair, reproducible draw and save artifacts for sharing or audit.
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.
weight=…
and group=…
attributes may follow the label after a pipe.group=…
label in a single draw. The cap only applies if set above zero.group=…
to mirror departments and cap per group for balance.