# Генератор на случайни числа

> Безплатен генератор на случайни числа – сигурен или сийд режим, шест разпределения, тегла, нотация за зарове и статистика на живо. 100% в браузъра.

URL: https://acrafto.com/bg/generator-sluchayni-chisla/  
Updated: 2026-08-28

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

## Как работи генераторът на случайни числа?

Генераторът предлага **два източника на случайност** и вие избирате кой отговаря на задачата.

**Сигурен режим** черпи ентропия от операционната ви система чрез Web Crypto API (`crypto.getRandomValues()`). Той е непредвидим и невъзпроизводим – правилният избор за истинско теглене, при което никой не бива да може да предвиди резултата предварително.

**Сийд режим** превръща въведения от вас текст в начално състояние за детерминиран генератор (xoshiro128\*\*). Един и същ сийд винаги произвежда едни и същи числа, така че всеки може да повтори вашето теглене и да потвърди резултата.

И двата режима работят **изцяло във вашия браузър**. Нито едно число не достига до сървър.

### Без модуло изкривяване (modulo bias)

Повечето прости генератори превръщат случайна 32-битова стойност в желания диапазон чрез `value % range`. Когато диапазонът не се дели точно на 2³², най-ниските числа излизат малко по-често от останалите. При хиляди тегления това е измеримо.

Този генератор използва вместо това **отхвърляне на извадки** (rejection sampling): стойностите, попадащи в неравномерния „опашен” остатък, се изхвърлят и се тегли отново. Всяко число в диапазона ви има точно еднакъв шанс. Можете сами да го проверите с вградения тест за равномерност.

## Какво може генераторът

### Диапазон

- **Минимум и максимум** – всеки цял или десетичен диапазон, включително отрицателни стойности
- **Брой числа** – от 1 до **1 000 000** в едно теглене
- **Без повторения** – всяко число се появява най-много веднъж, както при истинско теглене
- **Сортиране** – ред на изтегляне, възходящо или низходящо; сортирането по никакъв начин не влияе на случайността
- **Стъпка** – ограничава резултатите до кратни на дадена стойност, така че да излизат само 0, 5, 10, 15
- **Изключени числа** – списък със стойности, които никога не трябва да бъдат изтеглени

### Режим

- **Източник на случайност** – сигурен (Web Crypto) или сийд (възпроизводим)
- **Сийд** – произволен текст; един и същ сийд винаги повтаря същото теглене
- **Разпределение** – равномерно, нормално (гаусово), експоненциално, поасоново, триъгълно, биномно
- **Тегла** – дайте по-голям шанс на избрани числа, зададени като `number:weight`
- **Нотация за зарове** – `3d6+2`, `d20`, `2d20kh1` за преимущество, `4d6dl1` за хвърляне на характеристики

### Изход

- **Разделител** – запетая, интервал, точка и запетая, табулация, нов ред или произволен текст
- **Числова система** – десетична, двоична, осмична, шестнадесетична или основа 36
- **Допълване с нули** – превърнете 7 в 007 за номера на билети или ID
- **Представка и наставка** – обвийте всяко число с фиксиран текст
- **Шаблон** – `{n}` е числото, `{i}` – позицията му, така `user{n}` става `user42`
- **Копиране като** – обикновен текст, CSV, JSON или Markdown таблица

### Статистика

Всяко теглене се обобщава в реално време: сума, средна стойност, медиана, минимум, максимум, стандартно отклонение, както и колко резултата са четни, нечетни или прости числа. Хистограма показва формата на разпределението, а **хи-квадрат тест** показва дали резултатите наистина отговарят на равномерно разпределение.

### История

Последните 50 тегления се пазят в браузъра ви заедно с настройките, които са ги произвели – с едно кликване можете да възстановите всяко от тях. Често използвани конфигурации могат да се запазят като именувани пресети, а цялата колекция може да се експортира в JSON файл и да се импортира на друго устройство. Нищо не се съхранява никъде другаде освен в този браузър.

### Клавиатура

Натиснете **Интервал** или **R**, за да изтеглите отново, без да посягате към мишката.

## Бързи пресети

| Пресет | Диапазон | Брой | Употреба |
| --- | --- | --- | --- |
| 🎲 Зар | 1–6 | 1 | Настолни игри, вземане на решения |
| 🪙 Монета | 0–1 | 1 | Ези или тура |
| 🎰 Лотария | 1–49 | 6 | Уникални, сортирани, като истинско теглене |
| 💯 1–100 | 1–100 | 1 | Проценти, A/B разделяне |
| 🔢 ПИН | 0–9 | 4 | Четири цифри, повторенията са позволени |

## Възпроизводими тегления

Сийд режимът съществува за моментите, в които „вярвайте ми, беше случайно” не е достатъчно.

Изберете сийд, върху който всички могат да се съгласят предварително – дата, хаштаг, борсова цена на нещо публично – и го обявете преди тегленето. След това всеки може да въведе същия сийд със същите настройки и да получи идентичен резултат. Не сте доказали, че числата са били непредвидими; доказали сте, че не сте теглили отново, докато не ви е харесал резултатът.

Така се постига и възпроизводима случайност в работа, която трябва да бъде проверявана: план за извадка, който колега може да пусне отново, набор от тестови данни, който остава стабилен през целия тестов пакет, класно упражнение, при което всеки ученик получава едни и същи „случайни” данни.

## Избор на разпределение

**Равномерното** разпределение дава на всяко число в диапазона еднакъв шанс. Това обикновено се има предвид под „случайно” и е стойността по подразбиране.

Останалите групират резултатите около дадена стойност, както обикновено се държат величините от реалния свят:

- **Нормално (гаусово)** – ръст, грешки при измерване, резултати от тестове. Задайте средна стойност и стандартно отклонение.
- **Експоненциално** – времена на изчакване между независими събития.
- **Поасоново** – брой събития във фиксиран интервал: пристигания на час, дефекти на партида.
- **Триъгълно** – когато знаете минимума, максимума и най-вероятната стойност, но нищо друго. Често срещано при оценки на проекти.
- **Биномно** – брой успехи от фиксиран брой опити при фиксирана вероятност.

Всяко разпределение се ограничава до зададения от вас диапазон, така че дългата опашка на гаусовото разпределение не може да излезе извън минимума и максимума ви.

## Къде се използват случайните числа

### Игри и забавления

- **Настолни игри** – хвърляне на зар, ред на игра
- **Настолни ролеви игри (RPG)** – `4d6dl1` за характеристики, `2d20kh1` за преимущество
- **Раздавания на награди** – избор на победител, със сийд, за да могат участниците да проверят резултата
- **Викторини** – случаен ред на въпросите

### Статистика и наука

- **Извадки** – изтегляне на извадка от популация без повторения
- **A/B тестване** – разпределяне на участници в групи
- **Симулация Монте Карло** – оценка на вероятност чрез повторение
- **Bootstrap** – повторна извадка за оценка на несигурност

### Разработка

- **Тестови данни** – милион стойности, генерирани във фонов режим, така че страницата остава отзивчива
- **Фикстури** – със сийд, така че неуспешен тест да се провали по един и същ начин всеки път
- **Случайни ID** – с допълване, представки или шаблон
- **Тестове на натоварване** – шаблонни идентификатори като `user{n}@example.com`

## Истински срещу псевдослучайни числа

|  | `Math.random()` | `crypto.getRandomValues()` | Сийд (xoshiro128\*\*) |
| --- | --- | --- | --- |
| **Тип** | Псевдослучайни | Криптографски сигурни | Псевдослучайни, детерминирани |
| **Източник на ентропия** | Сийд, избран от машината | Системен CSPRNG | Вашият сийд текст |
| **Предсказуеми ли са?** | Потенциално да | Не | Да, по замисъл |
| **Възпроизводими ли са?** | Не | Не | Винаги |
| **Подходящи ли са за сигурност** | Не | Да | Не |
| **Подходящи ли са за статистика** | Зависи | Да | Да |
| **Подходящи ли са за проверими тегления** | Не | Не | Да |

`Math.random()` не се използва никъде в този инструмент.

## Тегления без повторения

При включена опция **Без повторения** всяко число от диапазона се появява най-много веднъж. Идеално за:

- **Раздавания на награди** – никой не може да спечели два пъти
- **Пермутации** – разбъркване на набор от елементи
- **Бинго** – изтеглени числа остават изтеглени
- **Лотария** – шест различни числа от 1 до 49

Тегленето използва частично Fisher–Yates разбъркване, така че изтеглянето на 6 числа от милион е също толкова бързо, колкото изтеглянето на 6 от 49 – никога не се преминава в цикъл с надежда да се избегне сблъсък. Ако поискате повече уникални числа, отколкото диапазонът може да предостави, генераторът ви уведомява за това, вместо да блокира.

## Експортиране на резултати

Копирайте числата като обикновен текст с разделител по избор, като **CSV** за електронна таблица, като **JSON** за код или като **Markdown таблица** за документация. Много големите тегления остават изцяло в паметта и се копират изцяло, дори когато на екрана се изобразяват само първите няколко хиляди.

## Генериране на случайни числа в собствен код

### JavaScript / TypeScript

```
// Cryptographically secure integer in [min, max], without modulo bias.
// The naive `value % range` favours low numbers when range does not
// divide 2**32 evenly - so we reject values in the uneven tail.
function randomInt(min, max) {
  const range = max - min + 1;
  const limit = Math.floor(0x100000000 / range) * range;
  const arr = new Uint32Array(1);
  let value;
  do {
    crypto.getRandomValues(arr);
    value = arr[0];
  } while (value >= limit);
  return min + (value % range);
}
```

### Python

```
import random
import secrets

# Cryptographically secure, no modulo bias
n = secrets.randbelow(max - min + 1) + min

# Reproducible: the same seed always gives the same sequence
rng = random.Random('my-seed')
n = rng.randint(min, max)

# Without repetition
sample = random.sample(range(min, max + 1), count)
```

### PHP

```
// Cryptographically secure (PHP 7+), no modulo bias
$n = random_int($min, $max);

// Reproducible
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);
```

## Често задавани въпроси (ЧЗВ)

### Наистина ли резултатът е случаен?

В сигурен режим – да. Той идва от `crypto.getRandomValues()`, криптографски сигурен генератор, захранван от пула на ентропия на операционната ви система. Резултатите са равномерно разпределени и непредвидими. Сийд режимът умишлено е обратното: той е възпроизводим и точно в това е смисълът му.

### Колко числа мога да генерирам наведнъж?

До 1 000 000. Тегленията над 50 000 се изчисляват във фонов уъркър, така че страницата остава отзивчива, а на екрана се показват първите 2 000 с брой на останалите – копирането все пак дава всичко.

### Мога ли да генерирам отрицателни числа?

Да. Задайте отрицателен минимум. Работи целият диапазон на JavaScript числата, включително отрицателни граници и от двете страни.

### Влияе ли сортирането на случайността?

Не. Числата първо се теглят, а после се сортират. Сортирането променя само реда, в който ги виждате.

### Ще даде ли същият сийд същите числа утре?

Да, и на всяко друго устройство или браузър. Сийд генераторът е напълно детерминиран и зависи единствено от сийда и настройките ви.

### Какво ми показва тестът за равномерност?

Той изпълнява хи-квадрат тест, сравняващ колко пъти всяко число реално се е появило спрямо колко пъти е трябвало да се появи. Ако статистиката остане под критичната стойност, резултатите съответстват на равномерно разпределение. За смислен резултат е нужен сравнително тесен диапазон и достатъчно тегления – поне пет за всяка възможна стойност.

### Как работят теглата?

Задайте ги като двойки `number:weight`, например `1:5, 2:1, 3:1`. Тук 1 е пет пъти по-вероятно да излезе от 2 или 3. Числата, които не сте изброили, получават тегло нула и никога не се теглят.

### Каква нотация за зарове се поддържа?

`3d6` хвърля три шестостенни зара. Добавете модификатор с `3d6+2`. Запазвайте или отхвърляйте зарове с `kh`, `kl`, `dh`, `dl` – така `2d20kh1` запазва по-високия от два d20 (преимущество), а `4d6dl1` отхвърля най-ниския от четири d6.

### Съхранява ли се историята ми някъде?

Само в този браузър, в локалното хранилище. Тя никога не достига до сървър, не се синхронизира с друго устройство и изчезва, ако изчистите данните на сайта. Експортирайте я в JSON, ако искате да я запазите или преместите.

## Other languages

- Čeština (cs): [Generátor náhodných čísel](https://acrafto.com/cs/generator-nahodnych-cisel/) ([Markdown](https://acrafto.com/cs/generator-nahodnych-cisel/index.md))
- Slovenčina (sk): [Generátor náhodných čísel](https://acrafto.com/sk/generator-nahodnych-cisel/) ([Markdown](https://acrafto.com/sk/generator-nahodnych-cisel/index.md))
- English (en): [Random Number Generator](https://acrafto.com/en/online-random-number-generator/) ([Markdown](https://acrafto.com/en/online-random-number-generator/index.md))
- Deutsch (de): [Zufallszahlen Generator](https://acrafto.com/de/zufallszahlen-generator-online/) ([Markdown](https://acrafto.com/de/zufallszahlen-generator-online/index.md))
- Français (fr): [Générateur de nombres aléatoires](https://acrafto.com/fr/generateur-nombres-aleatoires/) ([Markdown](https://acrafto.com/fr/generateur-nombres-aleatoires/index.md))
- Español (es): [Generador de números aleatorios](https://acrafto.com/es/generador-numeros-aleatorios-online/) ([Markdown](https://acrafto.com/es/generador-numeros-aleatorios-online/index.md))
- Italiano (it): [Generatore di numeri casuali](https://acrafto.com/it/generatore-numeri-casuali/) ([Markdown](https://acrafto.com/it/generatore-numeri-casuali/index.md))
- Português (pt): [Gerador de números aleatórios](https://acrafto.com/pt/gerador-numeros-aleatorios/) ([Markdown](https://acrafto.com/pt/gerador-numeros-aleatorios/index.md))
- Nederlands (nl): [Random getal generator](https://acrafto.com/nl/generator-willekeurige-getallen/) ([Markdown](https://acrafto.com/nl/generator-willekeurige-getallen/index.md))
- Polski (pl): [Generator liczb losowych](https://acrafto.com/pl/generator-liczb-losowych-online/) ([Markdown](https://acrafto.com/pl/generator-liczb-losowych-online/index.md))
- Română (ro): [Generator numere aleatoare](https://acrafto.com/ro/generator-numere-aleatoare-online/) ([Markdown](https://acrafto.com/ro/generator-numere-aleatoare-online/index.md))
- Magyar (hu): [Véletlenszám generátor](https://acrafto.com/hu/veletlen-szam-generator/) ([Markdown](https://acrafto.com/hu/veletlen-szam-generator/index.md))
- Ελληνικά (el): [Γεννήτρια τυχαίων αριθμών](https://acrafto.com/el/generator-tychaion-arithmon-online/) ([Markdown](https://acrafto.com/el/generator-tychaion-arithmon-online/index.md))
- Hrvatski (hr): [Generator slučajnih brojeva](https://acrafto.com/hr/generator-nasumicnih-brojeva/) ([Markdown](https://acrafto.com/hr/generator-nasumicnih-brojeva/index.md))
- Slovenščina (sl): [Generator naključnih števil](https://acrafto.com/sl/generator-nakljucnih-stevil/) ([Markdown](https://acrafto.com/sl/generator-nakljucnih-stevil/index.md))
- Eesti (et): [Juhuslike arvude generaator](https://acrafto.com/et/juhuslike-arvude-generaator/) ([Markdown](https://acrafto.com/et/juhuslike-arvude-generaator/index.md))
- Latviešu (lv): [Gadījuma skaitļu ģenerators](https://acrafto.com/lv/gadijuma-skaitlu-generators/) ([Markdown](https://acrafto.com/lv/gadijuma-skaitlu-generators/index.md))
- Lietuvių (lt): [Atsitiktinių skaičių generatorius](https://acrafto.com/lt/atsitiktiniu-skaiciu-generatorius/) ([Markdown](https://acrafto.com/lt/atsitiktiniu-skaiciu-generatorius/index.md))
- Svenska (sv): [Slumptalsgenerator](https://acrafto.com/sv/slumptalsgenerator/) ([Markdown](https://acrafto.com/sv/slumptalsgenerator/index.md))
- Dansk (da): [Tilfældighedsgenerator](https://acrafto.com/da/tilfaeldighedsgenerator-online/) ([Markdown](https://acrafto.com/da/tilfaeldighedsgenerator-online/index.md))
- Suomi (fi): [Satunnaislukugeneraattori](https://acrafto.com/fi/satunnaislukugeneraattori/) ([Markdown](https://acrafto.com/fi/satunnaislukugeneraattori/index.md))
- Norsk (no): [Tilfeldig tallgenerator](https://acrafto.com/no/tilfeldig-tallgenerator/) ([Markdown](https://acrafto.com/no/tilfeldig-tallgenerator/index.md))
- Українська (uk): [Генератор випадкових чисел](https://acrafto.com/uk/generator-vypadkovyh-chysel/) ([Markdown](https://acrafto.com/uk/generator-vypadkovyh-chysel/index.md))
- Русский (ru): [Генератор случайных чисел](https://acrafto.com/ru/generator-sluchajnyh-chisel/) ([Markdown](https://acrafto.com/ru/generator-sluchajnyh-chisel/index.md))
- Српски (sr): [Generator nasumičnih brojeva](https://acrafto.com/sr/generator-nasumicnih-brojeva/) ([Markdown](https://acrafto.com/sr/generator-nasumicnih-brojeva/index.md))
- Македонски (mk): [Генератор на случајни броеви](https://acrafto.com/mk/generator-slucajni-broevi/) ([Markdown](https://acrafto.com/mk/generator-slucajni-broevi/index.md))
- Bosanski (bs): [Generator nasumičnih brojeva](https://acrafto.com/bs/generator-nasumicnih-brojeva/) ([Markdown](https://acrafto.com/bs/generator-nasumicnih-brojeva/index.md))
- Shqip (sq): [Gjenerator numrash të rastësishëm](https://acrafto.com/sq/gjenerator-numrash-rastesishem/) ([Markdown](https://acrafto.com/sq/gjenerator-numrash-rastesishem/index.md))
- Türkçe (tr): [Rastgele sayı üretici](https://acrafto.com/tr/rastgele-sayi-uretici/) ([Markdown](https://acrafto.com/tr/rastgele-sayi-uretici/index.md))
- 日本語 (ja): [乱数生成ツール](https://acrafto.com/ja/ransu-generator/) ([Markdown](https://acrafto.com/ja/ransu-generator/index.md))
- 한국어 (ko): [랜덤 숫자 생성기](https://acrafto.com/ko/random-number-generator/) ([Markdown](https://acrafto.com/ko/random-number-generator/index.md))
- العربية (ar): [مولد أرقام عشوائية](https://acrafto.com/ar/random-number-generator/) ([Markdown](https://acrafto.com/ar/random-number-generator/index.md))
- हिन्दी (hi): [रैंडम नंबर जनरेटर](https://acrafto.com/hi/random-number-generator/) ([Markdown](https://acrafto.com/hi/random-number-generator/index.md))
- Bahasa Indonesia (id): [Generator angka acak](https://acrafto.com/id/generator-angka-acak-online/) ([Markdown](https://acrafto.com/id/generator-angka-acak-online/index.md))
- Tiếng Việt (vi): [Tạo số ngẫu nhiên](https://acrafto.com/vi/cong-cu-tao-so-ngau-nhien/) ([Markdown](https://acrafto.com/vi/cong-cu-tao-so-ngau-nhien/index.md))
- ไทย (th): [สุ่มตัวเลข](https://acrafto.com/th/random-number-generator/) ([Markdown](https://acrafto.com/th/random-number-generator/index.md))
- עברית (he): [מחולל מספרים אקראיים](https://acrafto.com/he/random-number-generator/) ([Markdown](https://acrafto.com/he/random-number-generator/index.md))
