UUID(범용 고유 식별자)는 중앙 관리 없이도 충돌 가능성이 극히 낮은 고유 ID를 만들 수 있는 128비트 값입니다. 데이터베이스 기본 키, 트랜잭션 ID, 파일명, 분산 시스템의 식별자 등 '겹치면 안 되는 값'이 필요한 곳에서 널리 쓰입니다. 여러 서버가 동시에 ID를 발급해도 서로 조율하지 않고 충돌을 피할 수 있다는 점이 핵심 장점입니다. 이 도구는 가장 일반적인 버전 4(완전 무작위) UUID를 한 번에 원하는 개수만큼 생성합니다.
버전 4 UUID는 8-4-4-4-12 형태의 36자 문자열(예: 550e8400-e29b-41d4-a716-446655440000)로, 버전을 나타내는 세 번째 그룹 첫 자리는 항상 4입니다. 122비트가 무작위라 생성 공간이 사실상 무한에 가까워, 현실적인 규모에서는 같은 값이 두 번 나올 일이 거의 없습니다.
생성에는 브라우저에 내장된 crypto.randomUUID를 사용합니다. 이는 암호학적으로 안전한 난수원을 기반으로 하므로, 단순 Math.random 기반 생성기보다 예측 가능성이 낮습니다. 모든 생성은 브라우저에서 이루어져 서버와 통신하지 않으며, 대문자 표기와 하이픈 제거 옵션, 그리고 목록 전체를 한 번에 복사하는 기능을 제공합니다.
사용 방법
- 1
개수 입력
한 번에 생성할 UUID 개수를 1~100 사이로 지정합니다.
- 2
형식 선택
필요하면 '대문자'와 '하이픈 제거' 옵션을 켜서 표기 형식을 맞춥니다.
- 3
생성
'생성' 버튼을 누르면 지정한 개수만큼 새 UUID가 목록으로 만들어집니다.
- 4
복사
각 항목의 복사 버튼으로 하나씩, 또는 '전체 복사'로 모든 UUID를 줄바꿈으로 구분해 가져갈 수 있습니다.
이럴 때 유용해요
DB 기본 키 생성
자동 증가 정수 대신 UUID를 기본 키로 쓰면, 여러 서버나 클라이언트가 충돌 없이 ID를 미리 만들 수 있습니다.
테스트·시드 데이터 채우기
한 번에 수십 개의 UUID를 만들어 목 데이터, 픽스처, API 테스트 케이스에 식별자로 사용합니다.
상관관계 ID·요청 추적
분산 시스템에서 로그를 잇기 위한 trace ID나 멱등성 키로 무작위 UUID를 발급합니다.
충돌 없는 파일·리소스 이름
업로드 파일이나 임시 리소스 이름에 UUID를 붙여 동시 작업 시 덮어쓰기를 방지합니다.
활용 팁
- 데이터베이스 키로 쓸 때는 하이픈을 제거한 32자 형식이 저장 공간을 약간 줄여 줍니다.
- UUID v4는 무작위 기반이라 정렬해도 생성 순서를 알 수 없습니다. 시간순 정렬이 필요하면 UUID v7이나 ULID를 고려하세요.
- 충돌 확률은 천문학적으로 낮지만 0은 아닙니다. 절대적 유일성이 필수라면 데이터베이스의 유니크 제약과 함께 사용하세요.
- 대소문자는 같은 UUID를 다르게 보이게 할 수 있으니, 비교 시 한쪽 표기로 통일하는 것이 안전합니다.
- 무작위 UUID를 클러스터드 인덱스 키로 쓰면 삽입 위치가 흩어져 성능이 떨어질 수 있습니다. 대량 삽입이 잦다면 v7 같은 시간 정렬형을 고려하세요.
- crypto.randomUUID는 보안 컨텍스트(HTTPS)에서 동작합니다. 이 도구는 지원되지 않는 구형 환경을 위한 폴백도 갖추고 있습니다.
자주 묻는 질문
어떤 버전의 UUID인가요?
버전 4(완전 무작위) UUID를 생성합니다. 36자(하이픈 포함) 형식이며, 세 번째 그룹이 4로 시작합니다.
정말 고유한가요?
버전 4 UUID의 충돌 확률은 사실상 무시할 수 있을 만큼 낮습니다. 다만 이론적으로 0은 아니므로, 중요한 시스템에서는 데이터베이스 유니크 제약을 병행하길 권합니다.
생성된 값이 서버로 전송되나요?
아니요. 모든 UUID는 브라우저의 crypto.randomUUID로 만들어지며 외부로 전송되지 않습니다.
한 번에 몇 개까지 만들 수 있나요?
이 도구에서는 1회당 최대 100개까지 생성할 수 있습니다. 더 필요하면 버튼을 다시 눌러 추가로 생성하세요.
하이픈을 제거해도 같은 UUID인가요?
네. 하이픈은 가독성을 위한 구분자일 뿐이므로, 제거해도 동일한 식별자입니다. 저장·비교 시 형식만 일관되게 유지하면 됩니다.
crypto.randomUUID는 충분히 안전한 난수인가요?
네. 암호학적으로 안전한 난수 생성기를 사용하므로, 추측 공격에 취약한 Math.random 기반 생성기보다 안전합니다.
UUID v4와 v7의 차이는 무엇인가요?
v4는 완전 무작위라 순서가 없고, v7은 앞부분에 타임스탬프를 담아 생성 시각 순으로 정렬됩니다. 데이터베이스 삽입 성능이 중요하면 v7이 유리하지만, 이 도구는 가장 널리 쓰이는 v4를 생성합니다.
생성 순서나 생성 시각을 UUID에서 알 수 있나요?
버전 4는 알 수 없습니다. 전부 무작위라 정렬해도 만든 순서를 복원할 수 없습니다. 시간 정보가 필요하면 UUID v7이나 ULID를 쓰세요.