UUID 생성기
UUID v4와 v7을 한 번에 여러 개 만들고 복사하세요. 브라우저의 암호용 난수로 만들고, 서버를 거치지 않습니다.
v4와 v7 비교
| 구분 | v4 | v7 |
|---|---|---|
| 구성 | 무작위 122비트 | 시각 48비트 + 무작위 74비트 |
| 정렬 | 순서 없음 | 만든 순서대로 정렬 |
| 잘 맞는 곳 | 토큰, 파일 이름, 추측되면 안 되는 ID | 데이터베이스 기본키, 로그 ID |
| 주의 | — | 만든 시각이 ID에 드러남 |
v7은 RFC 9562에 정의된 형식입니다. 이 페이지는 같은 밀리초 안에서도 순서가 지켜지도록 여러 개를 만들 때 1밀리초씩 늘려 씁니다.
이럴 때 씁니다
- 데이터베이스 기본키나 주문번호처럼 겹치면 안 되는 ID가 필요할 때
- 테스트 데이터를 만들 때 ID를 여러 개 한 번에 넣을 때
- 파일 이름이 겹치지 않게 저장할 때
- 요청 추적용 ID(트레이스 ID)를 만들 때
코드로 하려면
언어와 데이터베이스마다 기본 함수가 있습니다.
// 자바스크립트 (브라우저·Node.js) crypto.randomUUID() // v4 # 파이썬 import uuid uuid.uuid4() uuid.uuid7() # 파이썬 3.14부터 -- PostgreSQL 13 이상 SELECT gen_random_uuid(); -- v4 -- MySQL SELECT UUID(); -- v1 (시간 기반)
다른 개발·데이터 도구
자주 묻는 질문
UUID란 무엇인가요?
128비트로 만든 고유 식별자로, 8-4-4-4-12 형태의 16진수 36글자로 씁니다. 중앙에서 번호를 나눠 주지 않아도 겹치지 않는 ID를 만들 수 있어 데이터베이스 키, 파일 이름, 주문번호에 씁니다.
v4와 v7은 무엇이 다른가요?
v4는 122비트가 모두 무작위입니다. v7은 앞 48비트에 밀리초 단위 시각을 넣고 나머지를 무작위로 채워서, 만든 순서대로 정렬됩니다. 데이터베이스 기본키로 쓰면 v7이 인덱스에 더 유리합니다.
UUID가 겹칠 수는 없나요?
v4는 약 2.7×10¹⁸개를 만들어야 겹칠 확률이 50%가 됩니다. 일반적인 서비스에서는 사실상 겹치지 않습니다. 이 도구는 브라우저의 암호용 난수(crypto.getRandomValues)를 씁니다.
GUID와 같은 건가요?
GUID는 마이크로소프트가 쓰는 이름이고 형식은 같습니다. 대문자로 쓰는 경우가 많아 대문자 옵션을 두었습니다.