How to Use
- Paste your list (one item per line).
- Choose Pick Winners or Shuffle mode.
- Set winner count and allow/disable duplicates.
- Run, then copy results or re-roll anytime.
Core Features
- Crypto-Secure Random: Use
crypto.getRandomValues()instead ofMath.random()for stronger fairness. - Shuffle List: Shuffle items with FisherโYates for teams, groups, or ordering.
- Pick Multiple Winners: Draw multiple winners and optionally prevent duplicates.
- No Server Upload: Process lists locally and keep entries private.
- Great for: raffles, classrooms, team sorting, and quick decisions.
Related Tools
Word counter & token estimator for GPT and Gemini. Count CJK, estimate tokens, and project API cost with your pricingโprivate, client-side. Try it today.
Free SVG QR code generator for URL, text, Wi-Fi, or email. Create permanent static codes, tune error correction, download SVG/PNGโprivate. Make one now.
Read a QR code from an image or screenshot online. Drag, choose, or paste with Ctrl+V for client-side decoding with no file uploads.
An ad-free, instant unit converter running entirely in your browser. Convert length, weight, temperature, area, and volume with zero latency and 100% privacy.
Convert ZIP, TAR, and TGZ archives between formats instantly in your browser. 100% local processing keeps your packages secure.
Calculation Logic
- Picking: Generate uniform random indices using Web Crypto.
- Shuffling: Apply FisherโYates swaps from end to start; randomness comes from
crypto.getRandomValues(). - Uniqueness: In no-duplicate mode, we draw from a shrinking pool to ensure unique winners.
FAQ
Is this random picker truly fair?
Yes. We use the browserโs crypto.getRandomValues() API instead of Math.random() for cryptographically secure randomness.
Can I pick multiple winners without duplicates?
Yes. Disable โAllow Duplicatesโ and the tool guarantees each winner is unique.
Is my data safe (local/privacy)?
Yes. Lists and results are processed locally with no uploads or server storage.
Is it free? Can it remember my list?
Itโs free. Optional local storage can keep your list after refresh (you can clear it anytime).
Why not use Math.random()?
Math.random() isnโt designed for security or strong fairness. Web Crypto provides higher-quality, less predictable randomness.