UUID 생성기 & 검증기
암호학적으로 안전한 랜덤 v4 또는 정렬 가능한 v7 UUID를 하나에서 천 개까지 만들고, UUID나 GUID를 분석해 버전과 내장된 타임스탬프를 확인하세요.
브라우저에서 실행가입 불필요업로드 없음
생성된 UUID
UUID 생성기 사용 방법
- 완전히 랜덤한 ID는 v4를, 생성 시간순으로 정렬되는 ID는 v7을 선택합니다.
- 필요한 개수(최대 1,000개)를 정하고 생성을 클릭합니다.
- 필요하면 대문자로 바꾸거나, 하이픈을 없애거나, Microsoft 스타일 GUID처럼 중괄호로 감쌉니다.
- 큰 UUID를 클릭해 복사하거나, 여러 개는 모두 복사 / .txt 다운로드를 사용합니다.
- 분석기에 UUID를 붙여넣으면 유효성을 검사하고 버전, 변형, 타임스탬프를 보여 줍니다.
UUID란?
UUID(Universally Unique Identifier)는 Microsoft 플랫폼에서는 GUID라고 부르며, 16진수 32자리를 8-4-4-4-12의 다섯 그룹으로 쓴 128비트 값입니다. 형식은 2024년에 RFC 4122를 대체한 RFC 9562에 정의되어 있습니다. 13번째 16진수 자리가 버전을, 17번째 자리의 상위 비트가 변형(variant)을 나타냅니다.
UUID v4와 UUID v7
| v4 | v7 | |
|---|---|---|
| 내용 | 랜덤 122비트 | 48비트 Unix 밀리초 타임스탬프 + 랜덤 74비트 |
| 정렬 순서 | 무작위 | 시간순 |
| 데이터베이스 인덱스 | 무작위 삽입으로 B-tree 인덱스가 단편화됨 | 끝에 추가되어 인덱스에 훨씬 유리함 |
| 생성 시각 노출 | 아니요 | 예 |
삽입 순서가 중요한 데이터베이스 기본 키와 이벤트 ID에는 v7을 사용하세요. 생성 시점이 드러나면 안 되는 ID에는 v4를 사용하세요. 이 생성기는 같은 밀리초에 많은 ID를 만들어도 v7 ID가 엄격하게 증가하도록 유지합니다.
얼마나 고유한가요?
랜덤 비트가 122개이므로, 충돌이 한 번 일어날 확률이 50%에 이르려면 v4 UUID를 약 270경 개 생성해야 합니다. 이 페이지는 Math.random()이 아닌 브라우저의 암호학적으로 안전한 난수 생성기(crypto.getRandomValues)를 사용합니다.
코드에서 UUID 생성하기
// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();자주 묻는 질문
이 UUID를 운영 환경에서 써도 안전한가요?
네. Web Crypto API의 안전한 난수 생성기로 로컬에서 생성되며 RFC 9562를 따릅니다. 서버로 전송되거나 기록되는 것은 없습니다.
UUID와 GUID는 어떻게 다른가요?
같은 것입니다. GUID는 Microsoft의 명칭으로,
{3F2504E0-4F89-11D3-9A0C-0305E82C3301}처럼 대문자와 중괄호로 쓰는 경우가 많습니다. 위의 옵션으로 이 형식을 만들 수 있습니다.UUID에서 생성 시간을 알 수 있나요?
시간 기반 버전만 가능합니다. v7은 앞쪽 48비트에 Unix 밀리초를 저장하고, v1과 v6는 100나노초 단위 타임스탬프를 저장합니다. 분석기에 붙여넣으면 날짜를 볼 수 있습니다. v4에는 시간 정보가 없습니다.
UUID를 데이터베이스 기본 키로 써도 되나요?
분산 시스템과 공개 ID에 잘 맞습니다. 새 행이 인덱스 끝에 추가되도록 v4보다 v7을 쓰고, 36자 문자열 대신 네이티브
uuid 타입이나 16바이트 바이너리 컬럼에 저장하세요.nil UUID는 무엇인가요?
모든 비트가 0인
00000000-0000-0000-0000-000000000000으로, “UUID 없음”을 뜻하는 자리 표시자로 쓰입니다. RFC 9562는 모든 자리가 f인 max UUID도 정의합니다.