ToolGrid — Product & Engineering
Leads product strategy, technical architecture, and implementation of the core platform that powers ToolGrid calculators.
Loading...
Preparing your workspace
Loading tool...
Please wait.
Free: up to 250 per run in your browser. Paid: server crypto.randomInt batches up to 5000 with CSV export.
Awaiting Generation
Set your parameters and click Generate.
Generate random integers between a custom min and max. Free browser batches up to 250; unique option, dice/lottery presets, and list/CSV/JSON copy.
White-Label Platform
Paste a small snippet on your domain, use your branding, and sell to your clients with one subscription and no revenue share.
Learn moreCommon questions about this tool
Set Min and Max to the inclusive integer bounds you want (within −1,000,000 to 1,000,000), choose Quantity, optionally enable Unique values only, then click Generate Numbers. Use a preset such as Dice (1–6), Coin Flip (0–1), Lottery (1–49, six numbers), or Standard (1–100) if you want those ranges filled in for you.
Unseeded runs in the browser use the Web Crypto API (crypto.getRandomValues) when available; if Web Crypto is missing, the tool falls back to Math.random. When you enter a custom seed, generation uses Mulberry32, which is reproducible and not a CSPRNG. Paid or desktop batches above 250 numbers use Node.js crypto.randomInt instead of a seed.
On the free web tool you can generate up to 250 numbers per run in your browser without signup. With a paid web plan, server-side crypto.randomInt batches go up to 5,000 numbers with CSV download. The desktop app can run local crypto.randomInt batches up to 50,000.
When Unique values only is enabled (it is on by default), each number in the batch is distinct. Your quantity must not exceed the size of the inclusive range (max − min + 1); otherwise generation fails instead of returning duplicates.
You can copy results as a line-separated list, comma-separated CSV, or a JSON array. For browser runs you can also download a text file with the formatted numbers. Large paid or desktop secure batches download as CSV with an index and value column.
Enabling Use Custom Seed and entering a seed (up to 200 characters) switches browser generation to Mulberry32, a deterministic PRNG. The same seed, min, max, quantity, and uniqueness settings produce the same sequence, which is useful for tests and demos. Seeded runs are not cryptographically secure. Custom seeds are not used for paid or desktop secure batches above 250 numbers; those runs use crypto.randomInt without a seed.
V1 focuses on uniform random integers in an inclusive min/max range, with presets, optional uniqueness, optional seeding for reproducible browser runs, and free batches up to 250 (larger crypto.randomInt batches on paid web or desktop). Random Number Generator V2 adds multiple distribution patterns (uniform, normal, exponential), bulk generation up to 10,000 numbers, statistical analysis, CSV export, and reproducible seed options for those advanced workflows.
Presets only fill Min, Max, and Quantity for common tasks: Dice sets 1–6 with quantity 1; Coin Flip sets 0–1 with quantity 1; Lottery sets 1–49 with quantity 6; Standard sets 1–100 with quantity 1. They do not change uniqueness, seed, or output format—you can adjust those after applying a preset.
Verified content & sources
This tool's content and its supporting explanations have been created and reviewed by subject-matter experts. Calculations and logic are based on established research sources.
Scope: interactive tool, explanatory content, and related articles.
ToolGrid — Product & Engineering
Leads product strategy, technical architecture, and implementation of the core platform that powers ToolGrid calculators.
ToolGrid — Research & Content
Conducts research, designs calculation methodologies, and produces explanatory content to ensure accurate, practical, and trustworthy tool outputs.
Based on 2 research sources:
Learn what this tool does, when to use it, and how it fits into your workflow.
Random Number Generator V1 produces inclusive random integers between a minimum and maximum you choose. On the free web tool you can generate up to 250 numbers per run in your browser—no signup required—with optional unique values, dice/coin/lottery presets, and copy as list, CSV, or JSON.
Set Min and Max within −1,000,000 to 1,000,000, pick how many integers you need, then generate.
Unseeded browser runs use the Web Crypto API when available; a custom seed switches to a reproducible Mulberry32 sequence; paid web or desktop batches above 250 use Node.js crypto.randomInt.
Use this page when you need a quick integer draw for testing, sampling, games, raffles, or lottery-style picks—not as a full cryptographic key-management system. For passwords or identifiers, prefer dedicated tools such as the Password Generator or UUID Generator.
An online random integer generator for a closed interval: every output is an integer from Min through Max, inclusive. Quantity can be one value or a batch; Unique values only (on by default) draws without replacement within that range. Range size is max − min + 1, so a request for more unique numbers than the range can hold will fail rather than invent duplicates.
Software tests, simulations, games, and fair draws all need numbers that are not hand-picked. Everyday language APIs often expose a simple pseudo-random function that is fine for casual use but can be predictable if someone knows the algorithm and seed. Cryptographically oriented APIs draw entropy from the operating system or hardware so unseeded outputs are much harder to predict.
This tool maps a uniform random index in 0 … rangeWidth − 1 onto your interval with output = min + index.
Which entropy source is used depends on the path you take: Web Crypto in the browser when unseeded and available, Mulberry32 when you supply a seed, Math.random only as a fallback if Web Crypto is missing, and crypto.randomInt for large paid or desktop batches.
If you need non-uniform distributions, statistical summaries, or larger analytical batches, use Random Number Generator V2 instead of stretching V1 beyond uniform integers.
crypto.randomInt up to 5,000 with CSV download. Desktop: local crypto.randomInt up to 50,000.
Developers can generate boundary values and small test sets inside a known integer range without writing throwaway scripts. Analysts can sample indices for a pilot subset when every row ID in a contiguous block should have an equal chance of selection.
Teachers can assign groups or quiz items fairly by drawing unique numbers from a class size range. Game and raffle organizers can use Dice, Coin, or Lottery presets, then keep Unique values only on so lottery-style tickets do not repeat.
When you need string secrets rather than integers, switch to the Password Generator; for opaque identifiers, use the GUID Generator or UUID Generator.
The tool first computes the inclusive range width: rangeWidth = max − min + 1. Each draw produces an index in 0 … rangeWidth − 1, then converts it with output = min + index.
In the browser, unseeded generation prefers window.crypto.getRandomValues and maps the resulting unit interval into the range.
If Web Crypto is unavailable, it falls back to Math.random.
With a custom seed, values come from Mulberry32 after hashing the seed string—same inputs yield the same outputs, so treat seeded results as reproducible test data, not secrets.
When quantity is above 250 and you are on a paid web plan or the desktop app, generation moves to a secure batch that calls Node.js crypto.randomInt(0, rangeWidth) for each value (no seed in that path).
If Unique values only is on, previously seen values are rejected and redrawn until the batch is filled or the attempt limit is reached; asking for more unique values than rangeWidth is rejected up front.
V1 is the uniform integer tool: inclusive min/max, presets, uniqueness, optional browser seeding, and clear free versus paid batch limits. Random Number Generator V2 is the advanced sibling: multiple distribution patterns (uniform, normal, exponential), bulk generation up to 10,000 numbers, statistical analysis, CSV export, and reproducible seed options for those workflows. Choose V1 for simple fair draws and test integers; choose V2 when distribution shape or stats matter.
Range size determines how many distinct values uniqueness can return and how varied a sample can be.
| Range | Possible integer values | Example use |
|---|---|---|
| 1–6 | 6 | Simulating a single six-sided die (Dice preset). |
| 1–100 | 100 | Percent-style checks or the Standard preset. |
| 1–49 | 49 | Lottery-style draws of six unique numbers. |
| 1–1,000,000 | 1,000,000 | High-variety IDs or large sampling pools (within tool max). |
Confirm Min and Max before generating. A reversed or tiny range makes uniqueness impossible once quantity exceeds rangeWidth. Free web runs stop at 250 numbers; plan paid web (up to 5,000) or desktop (up to 50,000) batches when you need more.
Document the ranges, counts, uniqueness setting, and any seed you use for experiments so you can explain outcomes even though unseeded values cannot be predicted. Custom seeds are ignored on secure batches above 250—do not expect server or desktop large batches to reproduce a seeded browser sequence.
Do not treat this page as a substitute for dedicated key generation, password storage, or formal cryptographic libraries. Handle exported files carefully if the numbers will be used in sensitive contexts, and delete them when they are no longer needed.
Summary: Generate random integers between a custom min and max. Free browser batches up to 250; unique option, dice/lottery presets, and list/CSV/JSON copy.
Articles and guides to get more from this tool
You need to make a fair decision. Pick a number between 1 and 10. Whoever guesses closest wins. You could flip a coin. You could roll a die.…
Read full article