본문으로 건너뛰기

무료 난수 생성기

임의의 범위에서 난수를 생성하거나, 고유한 숫자 목록을 만들거나, 주사위를 굴립니다. 암호학적으로 안전한 무작위성을 사용합니다.

한 번 로드하면 오프라인에서도 작동

🔒 모든 숫자는 브라우저의 암호학적으로 안전한 무작위성(crypto.getRandomValues)을 사용합니다 — 예측 가능한 Math.random()이 아닌 진정한 무작위입니다. 어떤 것도 전송되지 않습니다. 단, 암호화 키 생성, 보안 토큰, 감사된 하드웨어 인증 무작위성 소스가 필요한 규제된 복권/도박 애플리케이션에는 사용하지 마세요.

목록에서 이름으로 당첨자를 뽑거나 동전을 던지고 싶으신가요? 동전 던지기, 룰렛, 목록 추첨 도구를 이용하세요 →

주요 용도

  • 로또 번호 생성Powerball, Mega Millions, EuroMillions 등 각종 복권용 무작위 로또 번호를 선택하세요.
  • 경품 행사용 무작위 우승자 선택경품 행사 및 이벤트용 번호가 매겨진 응모자 목록에서 공정하게 무작위 우승자를 선택합니다.
  • 테이블탑 게임용 주사위 던지기D&D 및 테이블탑 RPG용 주사위의 모든 조합을 던집니다 — d4, d6, d8, d10, d12, d20, d100.
  • 연구용 무작위 샘플링무작위 표본을 생성하고, 무작위 ID를 할당하거나, 번호가 매겨진 데이터 세트에서 무작위 부분 집합을 선택합니다.
  • 테스트 데이터용 무작위 숫자 생성알고리즘 테스트, 데이터베이스 채우기 및 시스템 부하 테스트용 대량의 무작위 숫자 목록을 만듭니다.

사용 방법

이 도구가 생성하는 모든 숫자는 TLS 키 생성에도 쓰이는 브라우저의 암호학적으로 안전한 난수원인 crypto.getRandomValues에서 나옵니다. 그 위에 직접 작성한 거부 샘플링 알고리즘을 두어 단순한 Math.random() % range 구현의 모듈로 편향을 제거하며, 2^32보다 넓은 범위는 BigInt 산술로 처리합니다.

  1. 1
    범위와 모드 설정
    단일 숫자, 일괄 목록(최대 1000개), 다면체 주사위(d4부터 d100까지) 중에서 고르세요. 목록에서는 고유값만 나오게 하거나 결과를 오름차순으로 정렬할 수도 있습니다.
  2. 2
    crypto.getRandomValues가 원시 엔트로피를 추출
    각 숫자는 Math.random()이 아닌 브라우저의 암호학적 난수 생성기가 채운 Uint32Array(2^32보다 넓은 범위는 BigUint64Array)에서 뽑습니다. 거부 샘플링이 분포를 왜곡할 값을 버리므로 범위 안의 모든 정수가 정확히 같은 확률을 가집니다.
  3. 3
    고유값 모드는 Fisher-Yates 또는 거부 추적 사용
    고유값 모드가 켜져 있고 범위가 메모리에 들어가면(최대 100,000개 값) 도구는 전체 풀을 만들어 Fisher-Yates로 섞습니다. 매우 큰 범위에서는 대신 값을 하나씩 뽑으며 중복을 건너뛰어, 수십억 개 항목의 배열을 만드는 메모리 비용을 피합니다.
  4. 4
    애니메이션과 함께 결과 표시 및 세션 기록 유지
    최종 값은 requestAnimationFrame으로 애니메이션되어 나타나고(숫자는 슬롯머신 회전, 주사위 모드는 굴러가는 주사위), 언제든 복사할 수 있는 스크롤 가능한 기록에 남습니다. 아무것도 브라우저를 떠나지 않습니다.

관련 도구

자주 묻는 질문