본문으로 바로가기

랜덤 뽑기베타

이름이나 항목을 한 줄에 하나씩 넣고 공정하게 당첨자를 뽑거나, 순서를 섞거나, 팀을 나누세요. 암호학적 난수를 쓰며 아무것도 서버로 보내지 않습니다.

0개 항목

이 목록은 이 브라우저에만 저장되어(어디로도 전송되지 않음) 다음에 다시 열어도 남아 있습니다.

동작

끄면 한 번 뽑힌 항목은 같은 회차에서 다시 뽑히지 않습니다.
다음 뽑기 때 이미 당첨된 사람을 빼고 다시 뽑을 때 씁니다. (중복 허용을 끈 경우에만 동작)

결과

아직 결과가 없습니다.

이번 세션 기록

이 브라우저 탭에서 실행한 기록이 여기 쌓입니다. 새로고침하면 사라집니다.

사용 방법

목록 입력칸에 한 줄에 하나씩 이름이나 항목을 붙여넣습니다. “당첨자 뽑기”에서는 뽑을 인원 수를 정하고, 중복 허용 여부(같은 항목이 여러 번 뽑힐 수 있는지)를 고릅니다. 중복을 허용하지 않을 때는 “뽑힌 항목을 목록에서 제거” 옵션을 켜서 다음 뽑기에서 이미 당첨된 사람을 자동으로 빼고 다시 뽑을 수 있습니다. “순서 섞기”는 목록 전체를 무작위 순서로 다시 배열하고, “팀 나누기”는 원하는 팀 수만큼 인원을 고르게 나눕니다.

공정한 뽑기 원리

이 도구는 Math.random() 대신 브라우저의 crypto.getRandomValues를 씁니다. 순서를 섞을 때는 Fisher–Yates 셔플을 써서 모든 순서가 정확히 같은 확률로 나오게 하고, 목록에서 몇 명을 뽑을 때는 거부 표본추출(rejection sampling)로 나머지 연산의 편향을 없애 모든 자리가 똑같은 확률로 뽑히게 합니다. 값이 같은 항목이 여러 줄 있어도 줄(자리) 단위로 서로 다른 응모권처럼 다룹니다.

언제 쓰나요

경품 추첨, 발표 순서 정하기, 학급에서 청소 당번이나 조 편성, 스포츠 경기 팀 나누기, 회의에서 발언 순서 정하기처럼 사람이나 항목을 무작위로 고르거나 나눠야 할 때 씁니다.

이번 세션 기록

같은 페이지에서 실행한 뽑기·섞기·팀 나누기 결과가 화면 아래 기록에 순서대로 쌓입니다. 여러 번 반복 추첨을 진행할 때 이전 결과를 다시 확인하거나 복사할 수 있습니다. 이 기록은 이 브라우저 탭에만 있으며 새로고침하면 사라집니다.

개인정보 보호

입력한 목록과 뽑기 결과는 모두 이 브라우저 안에서만 계산되고 어디로도 전송되지 않습니다. 입력한 목록은 이 브라우저의 로컬 저장소(localStorage)에 저장되어 다음에 다시 방문해도 남아 있으며, “목록 지우기” 버튼(또는 브라우저 설정에서 이 사이트의 데이터 삭제)으로 언제든 지울 수 있습니다. 뽑기 결과와 이번 세션 기록은 저장되지 않으며 서버에도 저장되지 않고, 페이지를 새로고침하거나 닫으면 사라집니다.

참고 자료

자주 묻는 질문

정말로 공정하게 뽑히나요?

네. 이 도구는 Math.random() 대신 암호학적으로 안전한 crypto.getRandomValues를 쓰고, 순서를 섞을 때는 모든 순열이 같은 확률로 나오는 Fisher–Yates 셔플을, 몇 명을 뽑을 때는 나머지 연산의 편향을 없애는 거부 표본추출(rejection sampling)을 씁니다.

같은 이름이 목록에 여러 번 있으면 어떻게 되나요?

값이 같아도 줄(자리)마다 서로 다른 응모권으로 취급합니다. 예를 들어 '민수'가 세 줄 있으면 민수가 뽑힐 확률이 다른 사람보다 세 배 높아집니다 — 같은 이름이 여러 번 참여하는 상황을 그대로 반영한 것입니다.

인원이 팀 수로 나누어떨어지지 않으면 어떻게 되나요?

먼저 전체 인원을 무작위로 섞은 뒤 앞에서부터 순서대로 한 명씩 나눠 담습니다. 나머지 인원은 앞쪽 팀부터 한 명씩 더 받으므로 팀 간 인원 차이는 최대 1명입니다.

이번 세션 기록은 어디에 저장되나요?

이 브라우저 탭의 메모리에만 있습니다. 서버로 전송되거나 저장되지 않으며, 페이지를 새로고침하거나 닫으면 사라집니다.