오리데브오리박스

UUID 생성기

UUID v4와 v7을 한 번에 여러 개 만들고 복사하세요. 브라우저의 암호용 난수로 만들고, 서버를 거치지 않습니다.

v4와 v7 비교

구분v4v7
구성무작위 122비트시각 48비트 + 무작위 74비트
정렬순서 없음만든 순서대로 정렬
잘 맞는 곳토큰, 파일 이름, 추측되면 안 되는 ID데이터베이스 기본키, 로그 ID
주의—만든 시각이 ID에 드러남

v7은 RFC 9562에 정의된 형식입니다. 이 페이지는 같은 밀리초 안에서도 순서가 지켜지도록 여러 개를 만들 때 1밀리초씩 늘려 씁니다.

이럴 때 씁니다

코드로 하려면

언어와 데이터베이스마다 기본 함수가 있습니다.

// 자바스크립트 (브라우저·Node.js)
crypto.randomUUID()          // v4

# 파이썬
import uuid
uuid.uuid4()
uuid.uuid7()                  # 파이썬 3.14부터

-- PostgreSQL 13 이상
SELECT gen_random_uuid();     -- v4
-- MySQL
SELECT UUID();                -- v1 (시간 기반)

다른 개발·데이터 도구

자주 묻는 질문

UUID란 무엇인가요?

128비트로 만든 고유 식별자로, 8-4-4-4-12 형태의 16진수 36글자로 씁니다. 중앙에서 번호를 나눠 주지 않아도 겹치지 않는 ID를 만들 수 있어 데이터베이스 키, 파일 이름, 주문번호에 씁니다.

v4와 v7은 무엇이 다른가요?

v4는 122비트가 모두 무작위입니다. v7은 앞 48비트에 밀리초 단위 시각을 넣고 나머지를 무작위로 채워서, 만든 순서대로 정렬됩니다. 데이터베이스 기본키로 쓰면 v7이 인덱스에 더 유리합니다.

UUID가 겹칠 수는 없나요?

v4는 약 2.7×10¹⁸개를 만들어야 겹칠 확률이 50%가 됩니다. 일반적인 서비스에서는 사실상 겹치지 않습니다. 이 도구는 브라우저의 암호용 난수(crypto.getRandomValues)를 씁니다.

GUID와 같은 건가요?

GUID는 마이크로소프트가 쓰는 이름이고 형식은 같습니다. 대문자로 쓰는 경우가 많아 대문자 옵션을 두었습니다.