UUID v1/v4/v7 생성기

UUID 버전별(v1 타임스탬프, v4 랜덤, v7 정렬 가능) 고유 식별자를 즉시 생성합니다.

v4: 암호학적으로 안전한 난수 기반 UUID입니다. 가장 널리 사용되며 충돌 확률이 극히 낮습니다.
최근 생성된 UUID

생성 히스토리 (최근 20개)

UUID v1/v4/v7 생성기 완벽 가이드

UUID(Universally Unique Identifier)는 소프트웨어 시스템에서 데이터를 전역적으로 고유하게 식별하기 위해 사용되는 128비트 표준 식별자입니다. 분산 시스템, 마이크로서비스, 클라우드 환경에서 중앙 조정 없이도 고유한 ID를 생성할 수 있어 현대 개발에서 필수적으로 활용됩니다. 본 도구는 가장 널리 사용되는 세 가지 UUID 버전인 v1, v4, v7을 모두 지원하여, 용도와 요구사항에 맞는 최적의 UUID를 즉시 생성할 수 있습니다.

UUID v1은 타임스탬프와 노드(MAC 주소) 정보를 기반으로 생성됩니다. 생성 시점의 시간 정보가 포함되어 있어 시간순 정렬이 가능하지만, 브라우저 환경에서는 실제 MAC 주소 대신 랜덤 노드 ID를 사용하여 프라이버시를 보호합니다. 주로 로그 시스템이나 이벤트 추적 등 시간 순서가 중요한 분야에서 활용됩니다.

UUID v4는 전체 128비트 중 버전(4비트)과 변형(2비트)을 제외한 122비트를 암호학적 난수로 채워 생성합니다. 약 5.3 x 10^36가지의 고유 조합이 가능하며, 매초 10억 개를 생성해도 약 85년이 지나야 50%의 충돌 확률에 도달합니다. 웹 브라우저의 crypto.getRandomValues() API 또는 crypto.randomUUID()를 사용하여 예측 불가능하고 안전한 UUID를 생성합니다. 현재 가장 널리 사용되는 UUID 버전입니다.

UUID v7은 2024년 RFC 9562에서 표준화된 최신 UUID 버전으로, 상위 48비트에 Unix 타임스탬프(밀리초)를 포함하고 나머지를 랜덤으로 채웁니다. 시간순 정렬이 가능하면서도 v1처럼 MAC 주소를 노출하지 않아, 데이터베이스 B-tree 인덱스 성능과 프라이버시를 동시에 확보할 수 있습니다. PostgreSQL, MySQL 등 최신 데이터베이스에서 기본 키로 사용하기에 가장 적합한 버전입니다.

UUID 버전별 비교

주요 활용 분야

자주 묻는 질문 (FAQ)

Q. UUID v1, v4, v7 중 어떤 버전을 사용해야 하나요?

A. 용도에 따라 다릅니다. 범용적 사용에는 v4, 데이터베이스 기본 키에는 v7, 시간 정보가 필요한 로깅에는 v1이 적합합니다. 새 프로젝트를 시작한다면 v7을 권장합니다.

Q. UUID v7이 데이터베이스에 좋은 이유는 무엇인가요?

A. v7은 타임스탬프 기반으로 자연스럽게 시간순 정렬되므로, B-tree 인덱스에서 새 레코드가 항상 끝에 삽입됩니다. 이로 인해 페이지 분할이 줄어들고 쓰기 성능이 크게 향상됩니다. 반면 v4는 랜덤이라 인덱스 전체에 분산 삽입되어 성능이 저하될 수 있습니다.

Q. 브라우저에서 생성된 UUID는 안전한가요?

A. 네, 본 도구는 crypto.getRandomValues() 및 crypto.randomUUID() API를 사용합니다. 이는 운영 체제의 암호학적 난수 생성기를 활용하므로 Math.random()과 달리 예측이 불가능합니다.

Q. UUID v1에서 실제 MAC 주소가 노출되나요?

A. 본 도구에서는 실제 MAC 주소 대신 암호학적 랜덤 값을 노드 ID로 사용하므로 프라이버시 문제가 없습니다. 멀티캐스트 비트를 설정하여 랜덤 노드임을 표시합니다.

Q. 대량 생성한 UUID가 중복될 수 있나요?

A. v4 기준 2^122가지 조합이 가능하므로 실질적으로 중복이 발생할 확률은 무시할 수 있을 정도입니다. v7은 타임스탬프가 포함되어 같은 밀리초 내에서만 랜덤 부분이 겹칠 가능성이 있지만, 이 역시 확률이 극히 낮습니다.