MODOO HUB ← 모두의 툴
Dev · Instrument

UUID Generator

UUID v4 랜덤 생성기 · 클릭 한 번으로 복사

클릭하여 UUID 생성
클릭하면 클립보드에 복사됩니다
UUID v4는 122비트의 암호학적 난수로 생성됩니다. 충돌 확률은 약 1/2¹²²로 사실상 전 세계에서 고유합니다. 데이터베이스 기본 키, 세션 토큰, API 요청 ID 등에 활용됩니다.

📖 왜 crypto.randomUUID()를 꼭 써야 하나 가이드 보기

UUID 완전 가이드

UUID(Universally Unique Identifier)는 RFC 4122 표준을 따르는 128비트 고유 식별자입니다. 8-4-4-4-12 자리의 16진수 형식으로 표현되며 예시: 550e8400-e29b-41d4-a716-446655440000. 중앙 서버 없이 어느 기기에서 생성해도 전 세계적으로 고유한 값을 보장합니다. UUID v4는 122비트를 완전 무작위로 채워 1초당 10억 개를 생성해도 충돌 확률이 50%가 되려면 85년이 걸릴 만큼 안전합니다.

UUID 버전별 특성: v1(MAC 주소+타임스탬프, 추적 가능성 있음), v3(MD5 해시 기반, 결정론적), v4(완전 랜덤, 가장 널리 사용), v5(SHA-1 해시 기반, 결정론적), v7(밀리초 타임스탬프+랜덤, 정렬 가능 — DB 성능 우수). 일반 용도에는 v4, DB 기본 키에는 v7 또는 ULID 권장.

활용 예제

자주 묻는 질문

UUID란 무엇인가요?

UUID(Universally Unique Identifier)는 128비트 길이의 고유 식별자로 RFC 4122 표준을 따릅니다. 8-4-4-4-12 자리의 16진수 형식이며 전 세계적으로 고유한 값을 보장합니다.

UUID v4와 다른 버전(v1, v3, v5)의 차이는 무엇인가요?

v1은 MAC 주소와 타임스탬프 기반, v3/v5는 네임스페이스+이름의 해시 기반, v4는 완전 랜덤입니다. 추적성이 필요 없는 분산 시스템에서는 v4가 가장 널리 사용됩니다.

UUID v4는 정말 고유한가요? 충돌이 날 수 있나요?

이론적으로 충돌 가능하지만 확률이 극히 낮습니다. 1초당 10억 개를 생성하더라도 충돌 확률이 50%가 되려면 약 85년이 걸립니다. 실용적으로는 완전히 고유합니다.

Math.random()으로 UUID를 만들면 안 되나요?

안 됩니다. Math.random()은 예측 가능한 의사난수입니다. 안전한 UUID에는 반드시 Web Crypto API의 crypto.randomUUID()나 crypto.getRandomValues()를 사용해야 합니다.

UUID를 데이터베이스 기본 키로 사용할 때 성능 문제가 있나요?

UUID v4는 랜덤하여 B-트리 인덱스에서 페이지 분할이 자주 발생합니다. 성능이 중요하면 UUID v7(시간 정렬 UUID)이나 ULID를 고려하세요.

UUID와 ULID의 차이는 무엇인가요?

ULID는 타임스탬프+랜덤으로 구성된 정렬 가능한 고유 식별자입니다. UUID v4와 달리 생성 시간순 정렬이 가능해 데이터베이스 인덱스 효율이 높습니다.

UUID 하이픈을 제거해도 되나요?

기술적으로 가능합니다. 32자리 16진수 문자열도 동일한 고유성을 가집니다. 단, RFC 4122 표준 형식은 하이픈 포함(8-4-4-4-12)이므로 시스템 호환성을 확인하세요.

여러 개의 UUID를 한 번에 생성할 수 있나요?

가능합니다. 개수 입력란에 원하는 숫자를 입력하면 최대 100개까지 한 번에 생성할 수 있습니다.

UUID를 세션 토큰으로 사용해도 안전한가요?

UUID v4는 암호학적으로 안전한 난수를 사용하므로 세션 ID로 사용 가능합니다. 반드시 HTTPS를 통해 전송하고 HttpOnly 쿠키에 저장하세요.

UUID v4의 세 번째 그룹 첫 자리가 항상 4인 이유는 무엇인가요?

RFC 4122에 따라 세 번째 그룹 첫 자리가 버전 번호(4)를, 네 번째 그룹 첫 자리가 변형(variant) 비트를 나타냅니다. 이로써 UUID의 생성 방식을 식별할 수 있습니다.

UUID를 URL에 그대로 사용할 수 있나요?

가능합니다. UUID의 16진수 문자와 하이픈은 URL-safe 문자입니다. /users/550e8400-e29b-41d4-a716-446655440000 같은 RESTful URL에 바로 사용할 수 있습니다.

생성된 UUID는 서버로 전송되나요?

아닙니다. UUID 생성은 브라우저의 Web Crypto API(crypto.randomUUID())를 사용합니다. 생성된 UUID나 입력 데이터가 서버로 전송되지 않습니다.

복사되었습니다!