Potrzebujesz szybkiego i sprawiedliwego sposobu na uzyskanie losowej liczby? Ten darmowy, internetowy generator liczb losowych losuje jedną liczbę — albo całą listę liczb — w dowolnym wybranym przez Ciebie zakresie, od prostego zakresu od 1 do 10 aż po zakresy sięgające miliardów. Ustaw wartość minimalną i maksymalną w polach „Min” i „Maks”, wybierz, ile liczb potrzebujesz, w polu „Liczba”, i kliknij „Generuj”. Obie granice są uwzględnione, więc zakres od 1 do 10 może zwrócić zarówno 1, jak i 10.
Każdy wynik powstaje bezpośrednio w Twojej przeglądarce dzięki Web Crypto API (crypto.getRandomValues), które dostarcza kryptograficznie silnych losowych wartości ze źródła losowości zapewnianego przez system operacyjny. Nic nie jest wysyłane na serwer, nic nie jest zapisywane, a my nigdy nie widzimy Twoich liczb. Generowanie jest natychmiastowe, prywatne i działa nawet przy wolnym połączeniu, gdy strona już się załaduje.
Opcje powstały z myślą o sytuacjach, w których ludzie naprawdę potrzebują losowych liczb. Włącz „Bez powtórzeń”, aby żadna liczba nie pojawiła się dwukrotnie — dokładnie to, czego potrzebujesz przy loteriach fantowych, losowaniach czy podziale ludzi na grupy bez powtórzeń. Potrzebujesz dwudziestu zwycięzców spośród 500 uczestników? Ustaw „Min” na 1, a „Maks” na 500, włącz „Bez powtórzeń”, ustaw „Liczba” na 20 i kliknij „Generuj”. „Kolejność sortowania” porządkuje wynik rosnąco lub malejąco, a jeden przycisk kopiuje wszystkie wyniki. Gdy zmienisz „Format wyników” z „Nowy wiersz” na „Oddzielone spacjami” lub „Oddzielone przecinkami”, pojawi się „Liczba zestawów”: kilka niezależnych losowań naraz — na przykład dwadzieścia zestawów po 3 liczby na dwadzieścia rund losowania — a „Zezwól na duplikaty między zestawami” decyduje, czy ta sama liczba może pojawić się w więcej niż jednym z nich.
Jak właściwie powstaje losowość? Twoja przeglądarka dostarcza kryptograficznie silne losowe wartości za pośrednictwem Web Crypto API, a nie JavaScriptowego PRNG, takiego jak Math.random(). Gdy klikniesz „Generuj”, strona żąda losowych wartości za pomocą crypto.getRandomValues i wykorzystuje je do stworzenia liczb w wybranym zakresie. Źródło losowości jest zapewniane przez system operacyjny, więc strona nie musi utrzymywać własnego ziarna (seed) ani sekwencji pseudolosowej.
Przekształcenie surowej wartości na Twój zakres to dokładnie to miejsce, w którym generatory po cichu się mylą, i zasługuje ono na osobny akapit. Wzięcie wartości modulo rozmiar zakresu to oczywista metoda — i obarczona błędem: jeśli zakres nie dzieli się dokładnie przez 2^32, najniższe liczby pojawiają się nieco częściej niż pozostałe. Ten błąd nazywa się modulo bias i jest mierzalny, a nie tylko teoretyczny. Ten generator zamiast tego odrzuca każdą wartość powyżej największej dokładnej wielokrotności zakresu i losuje ponownie — technika ta nazywa się rejection sampling. Kosztuje to kilka dodatkowych losowań, ale w zamian daje dokładną gwarancję: każda liczba między „Min” a „Maks” ma dokładnie takie samo prawdopodobieństwo, a nie tylko prawie takie samo.
Co sprawia, że liczba jest naprawdę losowa? Liczba jest wystarczająco losowa, gdy poprzednie wyniki nic nie mówią o następnym — a w praktyce istnieją trzy poziomy tego zjawiska. Zwykła funkcja pseudolosowa, taka jak Math.random(), uruchamia deterministyczny algorytm: każdy, kto zna jej stan wewnętrzny, może odtworzyć całą sekwencję, co świetnie nadaje się do tasowania pokazu slajdów, ale nie nadaje się do niczego, gdzie wynik nie może być przewidywalny. Kryptograficznie bezpieczny generator (CSPRNG) — poziom, którego używa to narzędzie — również jest algorytmem, ale został zaprojektowany tak, by tworzyć nieprzewidywalne wartości z bezpiecznego źródła losowości zapewnianego przez system operacyjny, i zbudowany tak, że śledzenie jego wyniku niczego nie zdradza o tym, co będzie dalej. Losowość fizyczna, pochodząca ze źródeł takich jak szum atmosferyczny czy rozpad radioaktywny, stoi ponad obiema tamtymi, choć w praktyce różnica ta przestaje mieć znaczenie, gdy chodzi o wylosowanie liczby z zakresu. Właśnie dlatego przeglądarki oferują osobne API kryptograficzne zamiast po prostu ulepszać Math.random(): te dwa rozwiązania rozwiązują różne problemy, a bezpieczne jest tylko jedno z nich, gdy wynik ma istotne znaczenie.
Losowa sekwencja nie musi wyglądać na losową dla ludzi. Wylosuj dziesięć liczb od 1 do 10, a regularnie zobaczysz powtórzenia, takie jak 7, 7, 8, albo krótki ciąg, który cały wypada wysoko — i każda z tych sytuacji jest zupełnie normalna. Prawdziwa losowość jest nieprzewidywalna, a nie równomiernie rozłożona: każde losowanie jest niezależne, wcześniejsze liczby nie mają absolutnie żadnego wpływu na kolejne, i żadna liczba nigdy nie jest bardziej „spóźniona” niż inna. Instynkt, który twierdzi inaczej, to błąd hazardzisty, i to ten sam instynkt sprawia, że ludzie sami są kiepskimi generatorami liczb — gdy prosi się nas o wymyślenie losowej sekwencji, unikamy powtórzeń i rozkładamy wartości znacznie równomierniej, niż robi to przypadek. Wynik, który wygląda podejrzanie schludnie, to odcisk palca człowieka; prawdziwa losowość tworzy skupiska.
Dlaczego warto wybrać ten generator liczb losowych?
- Generowanie tylko w przeglądarce: liczby powstają na Twoim urządzeniu i nigdzie nie są wysyłane
- Losowość dzięki Web Crypto API: kryptograficznie bezpieczna, a nie Math.random()
- Brak modulo bias: rejection sampling sprawia, że każda liczba w zakresie jest równie prawdopodobna
- Dowolny zakres: od 1 do 10 aż po wartości sięgające miliardów, z uwzględnieniem obu granic
- Tryb „Bez powtórzeń”: wylosuj listę bez powtórzeń do loterii fantowych i podziału na grupy
- Wiele zestawów: kilka niezależnych losowań jednym kliknięciem
- Sortowanie i formaty wyników: rosnąco lub malejąco, nowy wiersz, spacje lub przecinki
- Historia i zapis do pliku: zachowaj zapis losowania, którego wynik możesz później potrzebować udokumentować
- Nieograniczone i bezpłatne: bez rejestracji, bez limitów użycia, nic nie jest przechowywane na naszych serwerach
Losowe liczby pojawiają się w znacznie większej liczbie miejsc, niż większości się wydaje. Nauczyciele wywołują uczniów, nie faworyzując nikogo. Streamerzy i marketerzy losują zwycięzców konkursów i loterii fantowych przed publicznością, która musi wierzyć w wynik. Gracze zastępują zgubioną kostkę albo ustalają, kto zaczyna, a turnieje losują kolejność startową. Badacze wybierają losową próbę, aby ich wyniki można było uogólnić także na osoby, które nie brały udziału w badaniu. Programiści generują dane testowe, inicjalizują symulacje ziarnem (seed) i wybierają identyfikatory podczas testów QA. Wspólną cechą jest losowy proces wyboru, którego przebieg można później wyjaśnić: ponieważ losowanie wykorzystuje losowość kryptograficzną i odbywa się w całości na Twoim urządzeniu, możesz pokazać, jak powstał wynik, jeśli ktoś go zakwestionuje.
Ten generator ma kilka uczciwych ograniczeń, o których warto wiedzieć. Tryb „Bez powtórzeń” nie może wylosować więcej liczb, niż zawiera zakres: dwadzieścia unikalnych wartości między 1 a 10 po prostu nie istnieje. Losowania są niezależne, a wcześniejsze wyniki nie wpływają na kolejne, więc odświeżenie strony nie zeruje żadnego cyklu — nie ma żadnego cyklu, w którym można by się znaleźć. I choć liczby są kryptograficznie silne, losowanie jest tutaj uczciwym sposobem wyboru, a nie przepowiednią: oficjalne losowania loterii korzystają z własnego, fizycznego lub certyfikowanego sprzętu, a to, co jest generowane w Twojej przeglądarce, nie ma z nimi żadnego związku. W ramach tych ograniczeń gwarancja jest tym silniejsza: każda liczba w Twoim zakresie ma dokładnie taką samą szansę, przy każdym losowaniu.