~ / life / secret-santa

🎅 마니또·시크릿 산타 뽑기

명단을 넣으면 자기 자신과 커플·같은 팀을 빼고 마니또를 뽑아요. 사람마다 비밀 링크가 생겨서, 각자 링크를 열면 자기 마니또와 예산·교환일만 보여요.

members
이름 뒤에 / 힌트를 적으면 그 사람을 뽑은 산타에게만 보여요. 같은 이름은 '김민수A'처럼 구분해 주세요.
한 줄에 적은 사람끼리는 서로 안 뽑혀요(커플·같은 팀·가족). 도윤 > 하린처럼 쓰면 도윤만 하린을 못 뽑아요.
뽑는 방식
result
광고

사용법

  1. 참가자를 한 줄에 한 명씩 적어요. 지영 / 향 좋은 핸드크림처럼 뒤에 힌트를 붙이면, 지영을 뽑은 산타의 링크에만 그 힌트가 보여요.
  2. 서로 못 뽑게 할 사람을 한 줄에 묶어요. 민수, 지영은 커플끼리, 철수, 은비, 현우는 같은 팀 세 명끼리 서로 안 뽑혀요. 한쪽만 막고 싶으면 도윤 > 하린처럼 써요.
  3. 방식을 골라요. 기본값인 '서로 뽑기 피하기'는 A가 B를, B가 A를 동시에 뽑는 맞교환을 막아요. 교환식에서 차례로 건네고 싶다면 '한 바퀴로 이어지게'가 좋아요.
  4. 모임 이름, 예산, 교환 날짜를 넣고 마니또 뽑기를 눌러요. 사람마다 비밀 링크가 하나씩 생겨요.
  5. '메시지 복사'로 각자에게 1:1로 보내거나, '모두 복사'로 단톡방에 한 번에 올려요. 링크를 연 사람은 '내가 OO예요, 열어 보기'를 눌러야 결과가 보여요.

결과는 어디에도 저장되지 않아요. 각 링크 안에 그 사람의 결과가 담겨 있어서, 주최자가 페이지를 닫아도 링크는 계속 열려요. 대신 주최자도 다시 볼 방법이 없으니, 필요하면 '주최자 결과 복사'로 따로 보관하세요.

왜 그냥 섞으면 안 되고 "다시 뽑기"를 할까

n명의 이름을 무작위로 섞어 한 명씩 나눠 주면, 누군가 자기 이름을 뽑는 일이 생각보다 흔해요. 아무도 자기 이름을 안 뽑는 배정을 수학에서는 완전순열(derangement)이라고 하고, 그 개수 D(n)은 D(n) = (n − 1) × (D(n − 1) + D(n − 2))로 구해요. 전체 경우의 수 n!에서 이 비율은 인원이 늘수록 1/e(약 36.8%)에 바로 가까워져요.

인원전체 섞는 경우아무도 자기 이름 안 뽑음성공 확률누군가 자기 이름
3명6233.3%66.7%
4명24937.5%62.5%
5명1204436.7%63.3%
6명72026536.8%63.2%
8명40,32014,83336.8%63.2%
10명3,628,8001,334,96136.8%63.2%

즉 6명이 한 번에 섞으면 약 63%는 누군가 자기 이름이 나와요. 그래서 이 도구는 조건(자기 자신·제외 조건·맞교환·한 바퀴)에 맞는 배정이 나올 때까지 처음부터 다시 섞어요. 실패한 배정을 고치지 않고 통째로 버리기 때문에, 조건을 만족하는 모든 배정이 정확히 같은 확률로 나와요. 4명 자유 방식으로 9만 번 돌렸을 때 가능한 배정 9가지가 각각 약 1만 번씩 나오는 것도 확인했어요.

종이 쪽지로 "자기 이름이 나오면 그 쪽지만 다시 넣고 뽑기"를 하면 두 가지 문제가 생겨요. 첫째, 마지막 사람 손에 자기 이름만 남는 경우가 있어요. 직접 계산하면 그 확률이 4명 13.9%, 6명 11.3%, 8명 9.0%, 10명 7.6%이라 처음부터 다시 해야 해요. 둘째, 앞사람이 다시 뽑는 모습을 보면 "저 사람은 자기 이름을 뽑았구나"라는 정보가 새요. 온라인 뽑기는 이 두 가지가 없어요.

제외 조건과 방식에 따라 경우의 수가 이렇게 줄어요

아래는 모든 순서를 하나씩 세어 본 결과예요. 조건이 늘수록 가능한 배정이 줄지만, 보통 인원에서는 수십~수백 가지가 남아서 누가 누구를 뽑을지 예측하기 어려워요.

상황자유서로 뽑기 피하기한 바퀴
예시 ① 6명, 제외 없음265가지160가지120가지
예시 ② 6명, 커플 2쌍 제외116가지64가지48가지
예시 ③ 8명, 4명씩 두 팀 (같은 팀끼리 제외)576가지-144가지

예시 ③처럼 같은 팀끼리 막으면 모두가 다른 팀 사람을 뽑아야 해서 4! × 4! = 576가지가 돼요. 이때 한 팀이 전체 인원의 절반보다 많으면 배정이 아예 불가능해요. 5명 팀과 3명 팀이라면 5명이 뽑을 수 있는 바깥 사람이 3명뿐이기 때문이에요. 이 도구는 이런 경우 다시 뽑기를 반복하지 않고 바로 "수학적으로 불가능"이라고 알려 줘요(이분 매칭 검사).

마니또 규칙 템플릿

규칙을 미리 정해 두면 "얼마짜리를 사야 하지?", "언제 공개해?" 같은 질문이 단톡방에 쏟아지지 않아요. 아래를 복사해 '모두에게 보일 한마디'나 공지에 붙여 넣으세요.

정할 것추천 기본값
예산상한과 하한을 함께 (예: 3만~5만 원). 상한만 정하면 금액 차이가 커져요.
기간뽑기 후 교환까지 1~2주. 마니또 활동(쪽지·간식)을 하면 1주가 적당해요.
교환 방식한 명씩 '받는 사람 추측 → 공개' 또는 한 바퀴 순서대로 건네기
포장이름 없이, 받는 사람 이름만. 교환 영수증이나 선물 교환권을 함께 넣기
금지 품목현금, 상한을 넘는 상품권, 장난성 선물(모두가 웃을 수 있는 수준만)
못 오는 사람교환일 전에 주최자에게 선물을 맡기거나 택배로 보내기

모임별 예산 정하는 기준

아래 금액은 통계가 아니라 모임 성격별로 흔히 정하는 범위를 정리한 예시예요. 참가자 중 가장 부담을 느낄 사람에게 맞추는 게 원칙이에요.

모임예산 예시정할 때 볼 점
초·중학생 반5천~1만 원용돈 수준. 학교 규칙이 있으면 그 기준을 따라요
대학 동아리·스터디1만~2만 원참여율을 높이려면 낮게
회사 팀 (10명 안팎)2만~3만 원직급 차이와 상관없이 같은 예산. 팀비로 일부 지원하는 곳도 있어요
친한 친구 모임3만~5만 원서로 취향을 알아서 힌트가 잘 맞아요
가족·친척5만~10만 원어린이·어른을 섞으면 어린이는 별도 예산

예산 계산 예시: 회사 팀 12명이 3만 원으로 하면 모두 합쳐 36만 원이 오가요. 각자 쓰는 돈은 3만 원이고 받는 선물도 3만 원짜리 하나라서, 금액보다 "받는 사람에게 맞는가"가 만족도를 정해요. 송년회 비용까지 같이 걷는다면 더치페이 계산기로 술값·2차를 따로 나눠 정산하세요.

가격대별 선물 고르는 법

가격대잘 맞는 종류고르는 기준
3만 원 안팎핸드크림·립밤 같은 소용량 보습 제품, 겨울 양말·장갑, 원두·티백 세트, 문구·다이어리, 작은 화분취향을 덜 타고 다 써서 없어지는 소모품이 안전해요
5만 원 안팎보온 텀블러, 무선 충전기·보조배터리, 무드등, 디퓨저, 담요, 책 2권매일 쓰는 물건 중 "있으면 좋은데 내 돈 주고는 안 사는 것"
10만 원 안팎목도리·가죽 소품, 소형 가전(전기 포트·미니 가습기), 블루투스 스피커, 체험·클래스 이용권사이즈·색상 취향이 갈리면 교환 가능한 곳에서 사요

힌트가 없을 때는 "먹는 것 → 쓰는 것 → 꾸미는 것" 순서로 실패 확률이 커져요. 향수·옷처럼 취향과 사이즈가 갈리는 물건은 교환 영수증을 꼭 함께 넣어요. 모바일 상품권은 유효기간과 환불 규정이 따로 있어서, 자세한 기준은 마니또·시크릿 산타 진행 방법 총정리에 정리했어요.

2주 진행 일정 예시

교환일을 12월 24일로 잡았다면 아래처럼 거꾸로 계산해요. 회사·학교처럼 인원이 많을수록 뽑기를 일찍 해야 택배 배송과 포장 시간을 벌 수 있어요.

시점할 일
D-14참가 신청 받기, 예산·교환일·금지 품목 공지
D-12명단 확정 → 이 도구로 뽑기 → 사람별 링크 1:1 전송
D-12 ~ D-3마니또 활동(쪽지·간식) 기간, 온라인 주문은 늦어도 D-5까지
D-1포장 확인, 못 오는 사람의 선물 회수
D-day한 명씩 "내 마니또는 누구였을까" 추측 → 공개 → 선물 전달

흔한 실수

링크 속 결과는 간단히 섞은 뒤 base64로 담아서, 주소만 보고는 누구를 뽑았는지 바로 읽히지 않아요. 다만 암호화가 아니라 가리기 수준이니, 돈이 걸린 추첨에는 쓰지 마세요. 입력한 명단은 서버로 전송되지 않아요.

자주 묻는 질문

마니또 뽑기에서 자기 자신이 나오면 어떻게 해요?
이 도구는 자기 자신이 나오지 않는 배정이 나올 때까지 처음부터 다시 섞어서 자기 이름이 나올 일이 없어요. 종이로 뽑을 때는 한 사람만 다시 뽑으면 마지막 사람에게 자기 이름만 남는 일이 6명 기준 약 11% 생기니, 그때는 전원이 처음부터 다시 뽑아야 공정해요.
커플이나 같은 팀은 서로 안 뽑히게 할 수 있어요?
네. '서로 못 뽑게 할 사람' 칸에 한 줄에 한 묶음씩 적으면 그 사람들끼리는 서로 뽑히지 않아요. 한쪽만 막고 싶으면 '도윤 > 하린'처럼 쓰면 도윤만 하린을 뽑지 않아요.
비밀 링크는 어떻게 작동해요?
링크 끝(#s= 뒤)에 그 사람의 이름, 뽑은 사람, 예산, 날짜가 섞인 문자열로 들어 있어요. 같은 페이지가 그 문자열을 읽어서 해당 사람의 결과만 보여 주고, 서버에는 아무것도 저장하지 않아요. 그래서 주최자가 창을 닫아도 링크는 계속 열려요.
한 바퀴로 이어지게 하면 뭐가 달라요?
A가 B, B가 C, … 마지막 사람이 A를 뽑는 하나의 원이 돼요. 교환식에서 한 사람이 선물을 주면 받은 사람이 다음 사람에게 주는 식으로 끊기지 않고 이어져서 진행이 매끄러워요. 경우의 수는 줄지만(6명이면 120가지) 여전히 예측하기 어려워요.
주최자도 참가자인데 결과를 안 보고 진행할 수 있어요?
네. 주최자용 전체 결과는 기본으로 흐리게 가려져 있고 '보기'를 체크해야 보여요. 사람별 링크만 복사해 보내면 주최자도 자기 링크를 열기 전까지 아무것도 몰라요.
인원이 몇 명까지 돼요?
정해진 상한은 없어요. 수십 명도 1초 안에 뽑히고, 제외 조건이 아주 많으면 다시 섞기 대신 탐색으로 배정을 찾아요. 링크 길이는 이름과 힌트 길이에 따라 100~300자 정도예요.

이 도구와 함께 보면 좋은 글

관련 도구

더 둘러보기

🛠 생활 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →