UUID 생성기

랜덤 v4 UUID를 즉시 생성합니다. 단일 또는 배치 생성 지원, 원클릭으로 복사. 무료, 브라우저에서 처리, 서버 불필요.

  • 브라우저에서 처리
  • 데이터가 브라우저 밖으로 나가지 않습니다
  • 무료 · 회원가입 불필요

생성한 UUID가 여기에 표시됩니다.

단일 UUID
생성 클릭
자세한 가이드 읽기 UUID 생성기 완벽 가이드: UUID 버전별 차이와 실전 활용
예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.

버전부터 확인하기

이 도구가 내놓는 값은 모두 버전 4입니다. 다른 시스템에서 받은 UUID가 어떤 종류인지 알고 싶다면 하이픈을 뺀 뒤 두 자리만 보면 됩니다. 13번째 16진수 자리가 버전이고, 17번째 자리를 2진수로 바꿨을 때 앞 두 비트가 10이면 RFC 9562가 정의한 변형입니다. 도구는 붙여넣은 UUID를 검증하거나 해석하지 않으므로, 아래 방법은 눈으로 직접 읽는 방법입니다.

전자정부 표준프레임워크 위키의 Id Generation 서비스 문서는 UUID 표기 예로 다음 값을 듭니다.

550e8400-e29b-41d4-a716-446655440000
              ^    ^
              4    a = 1010

13번째 자리가 4이므로 형식상 버전 4이고, 17번째 자리 a는 2진수 1010이라 RFC 9562 변형입니다. 이 도구가 만드는 값과 같은 형식입니다. 같은 문서는 또 버전 1을 생성한 컴퓨터의 MAC 주소와 시간 정보로 만드는 방식이라고 소개하며, 어느 컴퓨터에서 만들었는지 정보가 남기 때문에 보안에 문제가 있다고 설명합니다. 또 프레임워크의 UUID Generation Service는 설정에 따라 MAC 주소, IP 주소, 주소 없음(Math.random()으로 주소 정보 생성)의 세 가지 방식으로 ID를 만든다고 적혀 있습니다. 운영 중인 시스템이 어떤 버전을 쓰는지는 실제 출력값의 13번째 자리를 보면 바로 알 수 있습니다. 공개 URL이나 외부 API 응답에 들어갈 ID라면 시간과 주소가 들어가지 않는 v4가 더 알맞습니다.

버전 1이라면 시간 값을 꺼낼 수 있습니다. 시간은 1582년 10월 15일부터 센 100나노초 단위 수이며, 세 번째 묶음의 뒤 세 자리, 두 번째 묶음, 첫 번째 묶음 순서로 이어 붙이면 됩니다. RFC 9562 부록의 버전 1 예시 c232ab00-9414-11ec-b3c8-9f6bdeced846을 계산하면 다음과 같습니다.

2022-02-22 19:22:22.000 UTC, 한국 시간으로는 2022-02-23 04:22:22.000입니다. 마지막 묶음 9f6bdeced846은 노드 값으로, 실제 장비라면 MAC 주소가 들어갈 수 있는 자리입니다.

Oracle의 RAW 값을 표준 표기로 바꾸기

Oracle Database 26ai SQL 레퍼런스에 따르면 UUID() 함수는 버전 4, 변형 1 UUID를 RAW(16)으로 돌려주며, 문서의 예시 출력은 하이픈 없는 대문자 32자리입니다. 이 값을 이 도구의 출력과 같은 8-4-4-4-12 소문자 형식으로 바꿔 읽으면 다음과 같습니다.

848dc57a-12aa-4f81-bfb4-2ea509879467
              ^    ^
              4    b = 1011

13번째 자리가 4로, 이 도구가 만드는 값과 같은 버전입니다. RFC 9562는 대소문자를 같은 값으로 보므로 848DC57A12AA4F81BFB42EA509879467과 위 표기는 같은 UUID입니다. 다만 문자열 그대로 비교하는 코드에서는 다르게 취급되니, 저장하기 전에 한쪽 형식으로 맞추는 편이 안전합니다.

충돌 확률

v4의 난수는 122비트이고 가능한 값은 2122개입니다. 생일 문제 근사로 n개를 만들었을 때 어느 두 개가 같을 확률은 p = 1 − e−n²/(2 × 2122)입니다. 1조 개(1012)를 만든 경우는 다음과 같습니다.

p ≈ 9.4 × 10^-14

실제로 생기는 중복은 테스트 데이터에 UUID를 고정해 둔 채 배포했거나 같은 값을 두 레코드에 복사한 경우처럼 대부분 프로그램 오류에서 나옵니다.

배치와 복사

  • 수량은 1~100입니다. 소수점 이하는 버리고, 0과 음수는 1, 빈 값이나 숫자가 아닌 값은 5로 처리합니다.
  • 모두 복사는 배치 전체를 한 줄에 하나씩 복사하고, 복사는 위쪽 단일 값만 복사합니다.
  • 지우기는 배치만 비웁니다. 도구 안에서 Ctrl/Command+L을 누르면 단일 값과 배치를 모두 지우고 수량 설정은 남깁니다.

제한

  • 버전 4만 생성합니다. 대문자, 하이픈 제거, 중괄호, urn:uuid: 형식으로 출력하는 옵션은 없습니다.
  • 배치 한 번에 최대 100개입니다.
  • crypto.randomUUID()가 필요합니다. Chrome·Edge 92 이상, Firefox 95 이상, Safari 15.4 이상에서 동작합니다(MDN 브라우저 호환성 데이터). 더 오래된 브라우저에서는 UUID가 표시되지 않습니다.
  • 붙여넣은 UUID를 검증하거나 해석하지 않습니다. 위의 읽기 방법은 직접 해야 합니다.

FAQ

UUID란 무엇입니까?

UUID(Universally Unique Identifier, RFC 9562)는 128비트 값으로, 16진수 32자리를 다섯 묶음으로 나누어 씁니다. 버전 4(v4) UUID는 128비트 중 122비트가 난수이므로 따로 생성한 두 값이 같아지는 일은 사실상 없습니다.

생성된 UUID는 정말 무작위입니까?

네. Web Crypto API의 crypto.randomUUID()를 사용하며, 브라우저에 내장된 암호학적으로 안전한 난수 생성기에서 값을 얻습니다. Math.random()은 쓰지 않습니다.

UUID의 형식은 무엇입니까?

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx입니다. 13번째 16진수 자리는 항상 4(버전)이고, 17번째 자리 y는 8·9·a·b 중 하나(RFC 9562 변형)이며 나머지 자리는 모두 랜덤입니다. 도구는 소문자로 출력합니다. RFC 9562 4장은 대문자·소문자·혼용을 모두 허용하므로 값을 읽는 쪽은 세 가지를 모두 받아야 합니다.

한 번에 몇 개 생성할 수 있습니까?

배치 한 번에 최대 100개입니다. 100보다 큰 수는 100, 1보다 작은 수는 1, 빈 값이나 숫자가 아닌 값은 5로 처리합니다. 수량은 이 브라우저에 기억되지만 생성한 UUID 자체는 저장하지 않습니다.

데이터베이스 기본 키로는 v4와 v7 중 무엇이 좋습니까?

v7은 밀리초 타임스탬프로 시작하므로 새 키가 기존 키 뒤에 정렬되어 B-트리 인덱스의 삽입이 끝쪽에 모입니다. v4는 완전히 랜덤이라 삽입이 인덱스 전체에 흩어지지만 생성 시각을 드러내지 않습니다. 이 도구는 v4만 생성합니다.

생성한 UUID가 어딘가로 전송되거나 저장됩니까?

아니요. crypto.randomUUID()는 이 브라우저 탭 안에서 실행되며, 값은 ZeroTool로 전송되지 않고 페이지를 떠나면 남지 않습니다. 페이지가 저장하는 것은 배치 수량뿐이며 이 브라우저의 로컬 저장소에 들어갑니다. 페이지의 Google Analytics는 생성이나 배치 생성을 눌렀다는 사실만 기록하고 UUID 값은 포함하지 않습니다.