Numbers
Weighted Random Number Generator
Used by developers, writers, and creators worldwide.
A weighted random number generator lets you shape probability distributions so certain number ranges appear more often than others — essential when pure randomness doesn't reflect real-world conditions. You control three bands across your chosen maximum: low (1–33%), mid (34–66%), and high (67–100%), each assigned a percentage weight that must total 100. Game designers, data scientists, and educators all reach for this kind of tool when they need skewed output without writing custom code. Set your count, adjust the three weights, and the generator produces a list where the numbers cluster exactly where you need them. Push mid weight to 80 for a bell-curve-like spread, or set high weight low to simulate systems where extreme values are rare.
Loading usage…
Free forever — no account required
How to use
- Choose your options above
- Click Generate
- Copy your result
Detailed instructions
- Set the Max Number to define the upper bound of your numeric range.
- Enter your three range weights (low, mid, high) ensuring they sum to exactly 100.
- Set the Count field to how many weighted random numbers you want generated.
- Click Generate to produce the list of numbers shaped by your distribution.
- Copy the output list and paste it directly into your spreadsheet, code, or document.
Use Cases
- •Building a loot table where common item drops occur ~65% of the time and rare drops only 10%
- •Generating 500 synthetic survey responses skewed toward mid-range satisfaction scores for a UX study
- •Stress-testing an input validation function in Jest with non-uniform numeric distributions
- •Simulating student exam scores clustered around a passing grade for a statistics lesson
- •Creating procedural encounter difficulty ratings for a dungeon generator weighted toward mid-tier enemies
Tips
- →To verify your weights are working, generate 200+ numbers and count how many fall in each third — the proportions should roughly match your settings.
- →For rare-event simulation, push one range below 5% — small counts may not produce any results from that band, so generate at least 50+ numbers.
- →Combine multiple generation runs with different weight profiles to build layered datasets, such as morning vs. evening traffic patterns.
- →When designing loot tables, use the high-range weight for your rarest tier and resist the temptation to set it above 15% — it stops feeling rare to players.
- →If you need a uniform distribution for comparison, set weights to 33/34/33 and use the output as a control group against your skewed set.
- →Copy results into a spreadsheet and use a histogram chart to visually confirm the distribution shape matches your intended weights before using in production.
FAQ
how do the low, mid, and high weights actually control the output
Each weight is a percentage controlling how often generated numbers land in that third of your range. Set mid weight to 70 and roughly 70 out of every 100 numbers will fall between 34% and 66% of your maximum. The three weights must sum to exactly 100 — adjust one and redistribute the remainder across the other two.
how many numbers do I need to generate before the distribution looks right
Generate at least 100–200 numbers for the weight percentages to stabilise into visible patterns. With small counts like 10–20, random variance means your actual output can diverge noticeably from the weights you set. For final verification, a batch of 500 gives a reliable picture.
can I use weighted random numbers to create synthetic training data for ml models
Yes — if your real dataset is skewed (most transactions are small, most users are mid-tier), you can mirror that skew here to generate realistic dummy data for testing pipelines or augmenting thin datasets. Copy the output list directly into a CSV or seed script to feed your model.