UUID 생성기
버전 4 UUID(GUID라고도 함)를 한 번에 하나씩 또는 최대 100개까지 생성하세요. 브라우저의 암호학적으로 안전한 난수 생성기를 사용하며, 하나 또는 전부를 복사하기 전에 대문자로 바꾸거나 하이픈을 뺄 수 있습니다. 무료이며 가입이 필요 없고, 아무것도 서버로 전송되지 않습니다.
UUID 생성기 사용 방법
- 1. 개수를 고르세요. 1부터 100까지의 정수 중에서 고를 수 있으며, 기본값은 5입니다.
- 2. 생성을 누르세요. 누를 때마다 새 목록이 나타납니다. 버튼을 누르기 전에는 아무것도 생성되지 않습니다.
- 3. 형식을 고르세요. 대문자와 하이픈 없음은 이미 있는 목록의 표기를 바꿀 뿐, 새 값을 만들지는 않습니다.
- 4. 복사하세요. 각 행에는 자체 복사 버튼이 있고, 모두 복사는 전체 목록을 한 줄에 UUID 하나씩 복사합니다.
버전 4 UUID의 구조
UUID는 128비트 식별자로, 하이픈으로 나뉜 다섯 그룹의 16진수 32자리로 표기합니다. 8-4-4-4-12 형태로 모두 36자입니다. 형식은 RFC 9562(2024년)에 정의되어 있으며, 이 문서는 RFC 4122를 대체했습니다. 버전 4는 거의 모든 비트를 무작위 데이터로 채우고, 여섯 개의 비트만 고정됩니다:
| 부분 | 위치 | 값 |
|---|---|---|
| 버전 | 세 번째 그룹의 첫 자리 | 항상 4 |
| 변형 | 네 번째 그룹의 첫 자리 | 8, 9, a, b 중 하나 |
| 무작위 비트 | 나머지 전부 | 122비트 |
도구의 무작위성이 만들어 낸 예시: e1f22e6e-ea3f-42a7-b43d-164b51542675. 세 번째 그룹은 4로 시작하고 네 번째 그룹은 b로 시작하는데, 모든 v4 UUID가 그래야 하기 때문입니다. 여러분의 값은 다를 것입니다. 바로 그것이 핵심입니다.
두 UUID가 충돌할 수 있을까요?
122개의 무작위 비트가 있으므로 가능한 값은 2122개, 약 5.3 × 1036개입니다. 생일 문제의 계산에 따르면 두 UUID가 일치할 확률이 50%에 이르려면 약 2.7 × 1018개의 UUID가 필요합니다. 초당 10억 개씩 생성한다면 약 86년이 걸립니다. 데이터베이스 키, 요청 ID, 파일 이름 같은 일반적인 용도에서는 좋은 난수원을 쓰는 한 충돌이 실질적인 걱정거리가 아닙니다. 이 도구는 Math.random이 아니라 브라우저의 암호학적 생성기(crypto.randomUUID, 대체 수단으로 crypto.getRandomValues)를 사용합니다.
어떤 UUID 버전이 필요한가요?
| 버전 | 구성 | 일반적인 용도 |
|---|---|---|
| 1 | 시각(그레고리력)과 노드 식별자 | 레거시 시스템. 언제, 어디서 만들어졌는지 드러날 수 있음 |
| 3과 5 | 이름공간과 이름의 해시(MD5 또는 SHA-1) | 이름에서 유도한 고정 ID |
| 4 | 무작위 비트 | 범용 고유 ID — 이 도구가 만드는 것 |
| 7 | 유닉스 밀리초 타임스탬프, 이어서 무작위 비트 | 생성 시각순으로 정렬되는 데이터베이스 키 |
RFC 9562는 v4의 무작위성 때문에 데이터베이스 인덱스에서 지역성이 나쁘다고 설명하며, 시간 기반 ID에는 버전 1과 6보다 버전 7을 권장합니다. 테이블이 크고 삽입이 잦다면 시간순으로 정렬되는 v7이 더 적합할 수 있습니다. 이 페이지는 v4만 생성합니다. RFC는 또한 가능하면 UUID를 텍스트(36자) 대신 16바이트 이진 값으로 데이터베이스에 저장하라고 권합니다.
형식: 하이픈, 대소문자, GUID
RFC 9562는 16진수 자리를 대문자, 소문자 또는 혼합 표기로 허용하며, 어떤 대소문자로 쓰든 같은 UUID는 같은 식별자입니다. 표준 표기는 하이픈이 있는 형태이며, 하이픈을 뺀 32자리 형태는 많은 데이터베이스와 API가 받아들이는 흔한 변형이지만 사용하기 전에 여러분의 시스템을 확인하세요. GUID는 같은 128비트 식별자를 가리키는 마이크로소프트의 이름이므로, 이 페이지의 버전 4 UUID는 GUID가 필요한 곳 어디에서나 그대로 쓸 수 있습니다.
자주 묻는 질문
- UUID v4란 무엇인가요?
- 128비트의 범용 고유 식별자로, 그중 122비트는 무작위이고 여섯 비트는 버전(4)과 변형을 나타냅니다. 예를 들어 550e8400-e29b-41d4-a716-446655440000처럼 씁니다.
- 생성된 UUID끼리 충돌할 수 있나요?
- 이론적으로는 가능하지만 실제로는 그럴 일이 없습니다. 약 5.3 × 1036개의 값이 있고, 어떤 충돌이든 50% 확률이 되려면 약 2.7 × 1018개의 UUID가 필요하며, 초당 10억 개씩 만들면 약 86년이 걸립니다.
- 무작위성은 암호학적으로 안전한가요?
- 네. 이 도구는 브라우저의 crypto.randomUUID를 호출하며, 없을 때는 crypto.getRandomValues를 씁니다. 둘 다 Math.random이 아니라 암호학적으로 안전한 난수 생성기를 사용합니다.
- UUID는 서버에서 만들어지나요?
- 아닙니다. 브라우저에서 만들어지며, 어디에도 전송되거나 저장되지 않습니다. 다시 생성하면 완전히 새로운 목록이 나옵니다.
- UUID와 GUID는 같은 것인가요?
- 네. GUID는 같은 128비트 식별자를 가리키는 마이크로소프트의 용어입니다. 버전 4 UUID는 아무 변경 없이 GUID로 쓸 수 있으며, Windows 도구는 GUID를 대문자로 또는 중괄호 안에 넣어 보여 주기도 합니다.
- 대문자와 하이픈 없음은 무엇을 하나요?
- 값을 쓰는 방식만 바꿉니다. 대문자는 16진수 문자를 대문자로 바꾸는데, RFC 9562는 이를 같은 UUID로 봅니다. 하이픈 없음은 대시를 빼서 32자로 만들며, 받는 시스템이 그 형식을 기대할 때만 사용하세요.
- UUID를 비밀 값이나 비밀번호로 쓸 수 있나요?
- 아니요. UUID는 고유하도록 설계된 것이지 비밀이 아닙니다. RFC 9562는 구현이 UUID를 추측하기 어렵다고 가정해서는 안 되며, 보안 권한으로 사용해서도 안 된다고 말합니다. 비밀에는 비밀번호 생성기를 사용하세요.