UUID 생성기란?
UUID(Universally Unique Identifier, 범용 고유 식별자)는 128비트 길이의 식별자로, 550e8400-e29b-41d4-a716-446655440000처럼 16진수 32자리를 8-4-4-4-12로 나눠 씁니다. 중앙 서버 없이도 사실상 겹치지 않는 ID를 만들 수 있어 데이터베이스 키, 파일 이름, 요청 추적 ID 등에 널리 쓰입니다. 마이크로소프트에서는 같은 개념을 GUID라고 부릅니다.
이 생성기는 브라우저의 암호학적 난수(crypto API)를 사용하며, v7은 최신 표준인 RFC 9562를 따릅니다.
사용 방법
- v4 또는 v7을 고르고 만들 개수(1~100)를 입력하세요.
- 필요하면 대문자, 하이픈 없이, 중괄호, 따옴표·쉼표(코드 배열용) 형식을 켜세요. 이미 만든 값의 형식만 바뀝니다.
- 전체 복사나 각 줄의 복사를 누르세요. .txt 저장으로 파일로 받을 수도 있습니다.
- 아래 UUID 검사기에 UUID를 붙여 넣으면 올바른 형식인지, 몇 버전인지, v1·v6·v7이면 언제 만들어졌는지 알려 줍니다.
UUID 버전별 차이
| 버전 | 만드는 방법 | 특징 |
|---|---|---|
| v1 | 시간 + MAC 주소 | 기기 정보 노출 위험 |
| v3 / v5 | 이름의 MD5 / SHA-1 해시 | 같은 입력이면 같은 UUID |
| v4 | 122비트 난수 | 가장 널리 쓰임, 순서 없음 |
| v7 | Unix 밀리초 시각 + 난수 | 시간순 정렬, DB 인덱스에 유리 |
UUID의 13번째 16진수 자리(세 번째 묶음의 첫 글자)가 버전 번호입니다. 예를 들어 xxxxxxxx-xxxx-7xxx-…는 v7입니다.
DB 기본 키로는 v7을 추천하는 이유
v4는 값이 완전히 무작위라 MySQL InnoDB, PostgreSQL B-트리 인덱스에 넣으면 삽입 위치가 흩어져 페이지 분할과 캐시 미스가 늘어납니다. v7은 앞 48비트가 생성 시각이라 새 값이 항상 인덱스 끝에 붙어 자동 증가 키와 비슷한 성능을 내면서도, 여러 서버에서 충돌 없이 만들 수 있습니다. 다만 생성 시각이 ID에 드러나므로 외부에 노출되면 안 되는 경우에는 v4를 쓰세요.
자주 묻는 질문
UUID가 겹칠 가능성은 없나요?
v4는 경우의 수가 2^122(약 5.3×10^36)개라, 1초에 10억 개씩 85년 동안 만들어야 겹칠 확률이 50%가 됩니다. 실무에서는 겹치지 않는다고 봐도 됩니다.
GUID와 UUID는 다른가요?
같은 128비트 식별자입니다. 마이크로소프트 환경에서 GUID라고 부르고, 보통 대문자와 중괄호 {…} 형식으로 표기합니다. 대문자·중괄호 옵션을 켜면 GUID 형식으로 만들 수 있습니다.
만든 UUID가 서버에 기록되나요?
아니요. UUID는 브라우저 안에서 만들어지며 어디에도 전송되지 않습니다. 형식 옵션과 개수만 이 기기에 저장됩니다.
같은 밀리초에 만든 v7도 순서가 보장되나요?
네. 같은 밀리초 안에서는 RFC 9562의 카운터 방식으로 다음 값이 항상 더 크게 만들어지므로, 한 번에 100개를 만들어도 생성 순서대로 정렬됩니다.