UUID 생성기

고유한 UUID v4를 즉시 생성하세요.

1100

UUID 생성기는 중복 위험이 사실상 0인 128비트 식별자를 만들어 줘요. DB 기본키·API 추적 ID·세션 토큰·파일명 충돌 방지 등에 써요.

UUID 버전별 차이

- **v1**: 시간 + MAC 주소 기반. 시간 순서 알 수 있지만 MAC 노출 위험 - **v3 / v5**: 이름 기반 해시(MD5/SHA1). 같은 입력 = 같은 UUID - **v4**: 완전 난수. 가장 흔하게 쓰임. crypto.randomUUID()가 기본 - **v7**: 시간 정렬 가능 + 난수. 2022 RFC 9562. DB 인덱스 성능 좋음 특별한 이유 없으면 v4 또는 v7 추천. v1은 보안상 비추천.

UUID 충돌 확률

v4 UUID 충돌은 사실상 불가능이에요. 매초 10억 개씩 100년 만들어도 한 번 충돌 확률이 50%예요. 실제 시스템에서는 무시 가능. 다만 약한 RNG·병렬 멀티프로세스에서 같은 시드 쓰면 충돌 가능성이 올라가요. 항상 `crypto.randomUUID()` 같은 CSPRNG 기반으로 만드세요. `Math.random()` 기반은 절대 금지.

UUID vs 자동증가 ID

**UUID 장점** - 분산 환경에서 충돌 없음 (마이크로서비스·다중 DB) - 외부 노출돼도 다음 ID 추측 불가 - 클라이언트가 미리 생성 가능 (offline-first) **자동증가 ID 장점** - 짧음 (8바이트 vs 16바이트) - 인덱스 성능 좋음 (정렬됨) - 사람이 읽기·말하기 쉬움 결제·로그·외부 API에는 UUID, 내부 룩업이 잦은 큰 테이블에는 v7 UUID 또는 ULID 추천.

자주 묻는 질문

URL에 UUID 그대로 써도 되나요?

OK예요. URL-safe 문자(0-9, a-f, -)만 들어가요. 다만 36자라 길어서 슬러그·외부 노출에는 짧은 nanoid·short-uuid 추천.

UUID v4와 v7 중 뭘 골라야 해요?

DB 기본키처럼 자주 인덱스되는 곳은 v7 (시간 정렬). 외부 노출용 식별자는 v4 (예측 불가).

한 번에 100개 UUID 만들 수 있나요?

도구의 batch 옵션을 쓰면 돼요. 모두 브라우저에서 CSPRNG로 만들어요. 충돌 걱정 없이 그대로 쓸 수 있어요.