UUID 생성기 (v4)
UUID v4 식별자를 생성하세요. 한 번에 최대 100개를 만들고 복사할 수 있습니다.
입력값은 브라우저에서만 처리되며 서버로 전송되지 않습니다.
빠른 사용법
- 생성할 개수를 정하세요.
- 버튼을 눌러 UUID를 만드세요.
- 결과를 복사해 사용하세요.
생성되는 식별자
UUID v4는 128비트 형식이며 버전·변형 비트를 제외한 122비트를 난수로 채웁니다. 이 도구는 브라우저의 암호학적 난수 API를 사용합니다. 일반적인 표기는 8-4-4-4-12자리의 16진수 그룹입니다.
충돌 가능성과 접근 권한은 별개입니다
독립적이고 균등한 난수라는 가정에서 충돌 가능성은 작지만 0은 아닙니다. 생성량이 커질수록 누적 충돌 가능성도 증가합니다. 중요한 식별자는 DB의 UNIQUE 제약과 충돌 시 재생성 처리를 두세요.
UUID를 알기 어렵게 만들었다고 접근 제어가 생기는 것은 아닙니다. 타인의 문서나 계정 데이터는 서버에서 매번 권한을 확인해야 합니다. UUID를 비밀번호나 인증 토큰의 대체품으로 사용하지 마세요.
버전과 정렬
| 버전 | 성격 | 이 도구 지원 |
|---|---|---|
| v4 | 난수 기반. 생성 순서 정렬 의미가 없음 | 지원 |
| v5 | 네임스페이스·이름 기반 | 미지원 |
| v7 | 시간 정보를 포함한 형식 | 미지원 |
UUID v4인지 눈으로 확인하기
UUID는 8-4-4-4-12자리 16진수로 표기합니다. 세 번째 그룹의 첫 글자가 버전이고, 네 번째 그룹의 첫 글자가 변형(variant)입니다. 아래 예에서는 세 번째 그룹 4c6e의 4가 버전, 네 번째 그룹 b1f0의 b가 변형입니다. v4라면 버전 자리는 항상 4이고 변형 자리는 8, 9, a, b 중 하나입니다.
RFC 9562는 16진수를 소문자로 출력하고 입력은 대소문자를 구분하지 않도록 정합니다. Windows의 GUID 도구처럼 대문자로 보여 주는 경우도 있으니 두 값을 비교할 때는 대소문자를 맞춘 뒤 비교하세요.
3f2b8c1e-9a4d-4c6e-b1f0-7d2e5a9c4b81DB 기본 키로 쓸 때
v4는 완전히 무작위라 새 값이 인덱스의 여러 위치에 흩어져 들어갑니다. 데이터가 많아지면 B-tree 인덱스의 페이지 분할과 캐시 효율 저하로 삽입이 느려질 수 있습니다. 생성 순서대로 정렬되는 키가 필요하면 앞부분에 밀리초 단위 시각을 넣는 v7(RFC 9562)을 검토하세요. 이 도구는 v4만 만듭니다.
저장 형식도 크기에 영향을 줍니다. 하이픈을 포함한 문자열은 36자이고 이진 형식은 16바이트입니다. PostgreSQL은 16바이트 uuid 자료형과 gen_random_uuid() 함수를 제공하며, PostgreSQL 18부터는 uuidv7()도 있습니다. MySQL 8.0에서는 BINARY(16) 열과 UUID_TO_BIN() 함수를 함께 씁니다.
명령으로 UUID 만들기
PS> [guid]::NewGuid()
$ uuidgen -r
$ cat /proc/sys/kernel/random/uuid
$ python3 -c "import uuid; print(uuid.uuid4())"Linux의 /proc/sys/kernel/random/uuid는 읽을 때마다 새 v4 값을 돌려줍니다. uuidgen은 고품질 난수원이 없으면 시간 기반 값을 만들 수 있으므로, 무작위 값이 필요하면 -r 옵션을 붙입니다.