Random Number Generator

Random integers or decimals between any min and max, unique, with exclusions or sorted — from your browser's cryptographic generator unless you give a seed.

With a seed the same settings draw the same numbers every time, and the link carries the seed. Leave it empty for a fresh cryptographic draw.

Generate random numbers in your browser

Set a minimum, a maximum and how many numbers you want, then press Generate. Turn on Unique values to draw numbers without repeats, for raffles, sampling or lottery-style picks. The range is inclusive of both ends, and reversed bounds are handled automatically. Everything runs locally, so it works offline and nothing you generate ever leaves your device.

How the randomness works

Unless you give it a seed, the generator draws from your browser's cryptographically secure crypto.getRandomValues and uses rejection sampling so every number in the range is equally likely — there is no modulo bias toward smaller values. When you ask for more unique numbers than the range can hold, the count is clamped to the number of distinct values available.

Odd or even, columns, a total and a history

Odd or even limits a whole-number draw to odd or even values, and exclusions and unique draws still hold. Columns sets the results out in rows that line up on screen and paste into a spreadsheet as cells, and Copy and Download take them that way. A Total line adds up what was drawn, and History keeps the draws made on this page, newest first, with Copy history and Clear history; a reload clears it. Tick “Reveal the numbers one at a time, like a live draw” and Generate shows the draw number by number, with Copy and Download waiting until it is all out and “Stop and show them all” to end it at once; a draw longer than the box names is shown whole.

Frequently asked questions

What does the 'unique values' option do?

It guarantees no repeats in the result. If you request more unique numbers than the range can supply, the count is automatically reduced to the number of distinct values in that range.

Are the minimum and maximum included in the results?

Yes. The range is inclusive, so both the minimum and the maximum can appear. If you enter the bounds in the wrong order, they are swapped for you.

Can it draw decimals, skip some numbers, or repeat the same draw?

Yes. Set decimal places for decimals, list numbers to exclude, and sort the results if you like. Give a seed and the same seed gives the same draw again — including through the copied link; a seeded draw is not cryptographic, and the page says so.

Can it draw only odd or even numbers, lay them out in columns, or keep what I drew?

Yes. Odd or even picks Any, Odd only or Even only for a whole-number draw — with decimal places set it says it cannot apply — and exclusions, unique draws and the note about too few distinct values still hold. Columns sets how many numbers go on each row, lined up on screen and separated by tabs so they paste into a spreadsheet as cells, and Copy and Download take them the same way. A Total line adds up the draw exactly. History keeps the draws made on this page, newest first, with Copy history and Clear history; a reload clears it.

Can the numbers come out one at a time, like a live draw?

Yes. Tick “Reveal the numbers one at a time, like a live draw” and Generate shows the draw one number after another. The draw is already made and only how it is shown changes, so Copy and Download wait until the last number is out, and “Stop and show them all” shows the rest at once. A draw longer than the box names is shown whole, since revealing it would take too long. The box is off by default and a copied link carries it with the other settings.

Can it pick a random port for a dev server?

Yes. Set Minimum to 1024, Maximum to 65535 and How many to 1: that skips the privileged ports 0–1023, which need administrator rights. List the ports common services take by default in Exclude and they are never drawn — 1433 SQL Server, 1521 Oracle, 3000 and 3001 Node dev servers, 3306 MySQL, 3389 Remote Desktop, 4200 Angular, 5173 Vite, 5432 PostgreSQL, 5672 RabbitMQ, 6379 Redis, 8000 and 8080 HTTP alternates, 8443 HTTPS alternate, 9000 PHP-FPM, 9200 Elasticsearch, 11211 Memcached, 27017 MongoDB. For the usual dev-server band, use 3000 and 3999 instead. Copy link keeps the setup.

Is the port it draws guaranteed to be free?

No. The page runs in your browser and cannot see which ports are open on your computer; it only draws a number. If the port turns out to be taken, press Generate again.