~ / developer / uuid-generator

🆔 UUID 생성기

브라우저의 안전한 난수로 UUID v4와 시간순 정렬형 v7을 만들어요. 최대 1,000개까지 한 번에, 원하는 형식으로 복사하세요.

UUID
-
options
버전
개
형식
구분
output
UUID 분석 — 버전·생성 시각 확인

사용법

  1. 버전을 고릅니다. 특별한 이유가 없으면 v4, 데이터베이스 기본키처럼 생성 순서대로 정렬되어야 하면 v7을 쓰세요.
  2. 개수를 입력하거나 빠른 버튼(1·10·50·100·1000)을 누르면 바로 생성됩니다. ↻ 다시 생성을 누를 때마다 새 값이 나옵니다.
  3. 대문자, 하이픈 제거, 중괄호, 구분 방식(줄바꿈·쉼표·JSON 배열·SQL IN)을 바꾸면 같은 값의 표기만 바뀝니다. 전체 복사로 한 번에 복사하세요.
  4. 맨 아래 UUID 분석에 아무 UUID나 붙여넣으면 버전과, v1·v6·v7이라면 생성 시각까지 알려줍니다.

UUID란?

UUID(Universally Unique Identifier, 마이크로소프트에서는 GUID)는 550e8400-e29b-41d4-a716-446655440000처럼 생긴 128비트 식별자입니다. 중앙 서버에 "다음 번호"를 물어보지 않고도 각자 만들어 쓸 수 있고, 사실상 겹치지 않는다는 것이 핵심이에요. 16진수 32자를 8-4-4-4-12로 나눠 쓰며, 세 번째 묶음의 첫 글자가 버전, 네 번째 묶음의 첫 글자(8·9·a·b)가 variant입니다. 표준은 2024년에 RFC 4122를 대체한 RFC 9562입니다.

v4와 v7 차이

UUID v4UUID v7
구성랜덤 122비트Unix 밀리초 48비트 + 랜덤 74비트
정렬무작위 순서생성 시간순 정렬
생성 시각 노출없음앞 12자리로 알 수 있음
DB 기본키 성능인덱스 단편화 발생순차 삽입이라 유리
적합한 곳토큰, 외부 공개 ID, 일반 식별자DB 기본키, 로그·이벤트 ID

v4는 완전히 랜덤이라 B-Tree 인덱스(MySQL InnoDB, PostgreSQL 등)에 넣으면 새 행이 인덱스 곳곳에 흩어져 들어가 페이지 분할과 캐시 미스가 늘어납니다. v7은 맨 앞이 타임스탬프라 항상 뒤쪽에 쌓이므로 자동 증가 정수 키와 비슷한 삽입 성능을 내면서도 분산 환경에서 따로 생성할 수 있습니다.

생성 방식과 중복 확률

v4가 겹칠 확률은 10억 개를 만들어도 약 10-19 수준으로, 현실적으로 0이라고 봐도 됩니다(생일 문제 계산 기준 50% 확률로 충돌하려면 약 2.7×1018개가 필요).

v7은 앞부분에 생성 시각이 그대로 담기므로, 가입 시각처럼 노출되면 안 되는 정보를 담은 ID를 외부에 공개할 때는 v4를 쓰세요. UUID는 추측하기 어려운 값이지만 비밀번호나 인증 토큰을 대신하도록 설계된 것은 아닙니다. 생성은 모두 브라우저 안에서 이뤄지고 서버에 기록되지 않습니다.

자주 묻는 질문

UUID와 GUID는 다른가요?
같은 128비트 식별자입니다. 마이크로소프트 생태계에서 GUID라고 부르며, 중괄호로 감싼 {…} 대문자 표기를 자주 씁니다. "중괄호" 옵션과 "대문자"를 켜면 GUID 형식이 됩니다.
UUID v7은 어떤 DB에서 쓸 수 있나요?
UUID 타입(PostgreSQL uuid, MySQL BINARY(16)/CHAR(36) 등)이면 버전과 관계없이 저장할 수 있습니다. PostgreSQL 18부터는 uuidv7() 함수가 기본 제공됩니다.
하이픈을 빼도 같은 UUID인가요?
네. 하이픈은 읽기 쉽게 넣은 구분자일 뿐이라 32자 16진수만으로도 같은 값입니다. 저장 공간을 줄이려면 문자열 대신 16바이트 바이너리로 저장하는 것이 더 효과적입니다.
UUID가 중복될 수 있나요?
이론적으로는 가능하지만 v4 기준 수십억 개를 만들어도 충돌 확률이 사실상 0입니다. 다만 난수 생성기가 약한 환경(오래된 라이브러리 등)에서는 위험이 커지므로 표준 암호학적 난수를 쓰는 구현을 사용하세요.

이 도구와 함께 보면 좋은 글

관련 도구