UUID 생성기
UUID v4를 생성합니다.
설명
암호학적 난수 기반 UUID v4를 한 번에 여러 개 생성합니다.
관련 도구
UUID 생성기는 시간, 난수, 기기 정보 등을 조합해 전 세계에서 유일한 128비트 식별자를 즉시 만들어 주는 도구입니다. 데이터베이스 기본키, API 요청 추적 ID, 파일명 중복 방지 등 고유 값이 반드시 필요한 개발 작업에서 자주 쓰입니다. 별도 라이브러리 설치 없이 브라우저에서 RFC 4122 표준을 따르는 UUID v4를 즉시 생성할 수 있습니다.
사용 방법
페이지를 열면 UUID 하나가 즉시 생성되어 표시됩니다. 복사 버튼을 클릭하면 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' 형식의 값이 클립보드에 저장됩니다. 여러 개가 필요하다면 생성 개수를 입력하고 일괄 생성하면 목록으로 받을 수 있습니다. 대소문자 구분이 필요한 경우 대문자 변환 옵션을 사용하고, 하이픈 없이 32자리 연속 문자열이 필요하다면 하이픈 제거 옵션을 활용하면 됩니다.
UUID v4가 실제로 충돌하지 않나요?
UUID v4는 122비트의 난수를 사용하므로 총 5.3 x 10^36 가지의 값이 존재합니다. 초당 10억 개를 생성해도 중복이 발생할 확률은 수십억 년에 한 번 꼴로, 실용적인 환경에서는 충돌이 없다고 봐도 무방합니다. 단, 보안이 취약한 환경(구형 브라우저, 특정 서버 환경)에서는 난수 품질이 낮아질 수 있으므로, 민감한 보안 토큰이 필요하다면 서버사이드 전용 생성 라이브러리를 쓰는 것이 더 안전합니다.
이럴 때 유용해요
SQL 데이터베이스에서 AUTO_INCREMENT 대신 UUID를 기본키로 쓰면 여러 서버에서 동시에 행을 삽입해도 ID가 겹치지 않아 분산 환경에 적합합니다. 파일 업로드 시 원본 파일명 대신 UUID를 파일명으로 쓰면 이름 충돌과 경로 추측 공격을 동시에 방지합니다. Postman 같은 API 테스트 도구에서 요청마다 다른 ID가 필요할 때, 이 도구에서 빠르게 복사해 쓰는 용도로도 많이 활용됩니다.
자주 묻는 질문
UUID v1과 v4의 차이는 무엇인가요?
생성된 UUID를 그대로 비밀번호로 써도 되나요?
하이픈 없이 32자리로 써야 하는 경우가 있나요?
같은 UUID가 두 번 나올 수 있나요?
JavaScript에서 UUID를 코드로 직접 만들 수 있나요?
개인정보처리방침
모든 처리는 브라우저 내부에서만 수행되며 입력값·파일은 서버로 전송·저장되지 않습니다. 광고: Google AdSense(쿠키 사용 가능, 설정). 문의 kjh920424@gmail.com
UUID 생성기 사용법
생성할 개수를 입력하고 버튼을 누르면 UUID v4 값이 그 수만큼 한 줄에 하나씩 만들어집니다. 만들어진 값은 전부 복사해 그대로 코드나 데이터베이스에 붙여 넣을 수 있습니다. 테스트용 더미 데이터, API 요청 식별자, 파일명 충돌 방지 등 중복되면 안 되는 값이 필요할 때 즉석에서 여러 개를 뽑아 쓰는 용도입니다. 생성은 전부 브라우저 안에서 처리되므로 만든 값이 서버로 전송되지 않습니다.
UUID v4는 어떻게 만들어지나
UUID는 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 형태의 32자리 16진수(하이픈 4개 포함 36자)입니다. v4는 이름 그대로 거의 전부를 난수로 채우는 방식입니다. 128비트 중 버전과 변형을 나타내는 6비트를 뺀 122비트가 무작위 값입니다.
고정 규칙이 두 군데 있습니다. 세 번째 그룹의 첫 글자는 버전 표시로 항상 4이고, 네 번째 그룹의 첫 글자는 변형 표시로 8·9·a·b 중 하나가 됩니다. 그래서 ...-4xxx-axxx-... 같은 패턴이 보이면 정상적인 v4입니다. 나머지 자리는 0~f가 무작위로 들어갑니다.
중복 가능성과 활용 상황
무작위이므로 이론상 겹칠 수 있지만 경우의 수가 2의 122제곱이라 실무에서 우연히 같은 값이 나올 확률은 무시할 수준입니다. 그래서 중앙 서버의 번호 발급 없이도 각자 알아서 ID를 만들어 쓸 수 있습니다.
- DB 기본키를 자동증가 정수 대신 UUID로 두어 여러 서버에서 동시에 생성
- 업로드 파일명 앞에 붙여 이름 충돌 방지
- 주문·세션·요청 추적용 식별자
- 테스트/시드 데이터에 채울 임의 키
알아두면 좋은 팁
| 상황 | 참고 |
|---|---|
| 대소문자 | 16진수라 대소문자 의미가 같음. 비교할 땐 한쪽으로 통일하세요. |
| 하이픈 | 저장 공간을 아끼려면 하이픈을 빼고 32자로 넣기도 합니다. 표시할 때 다시 넣으면 됩니다. |
| 정렬 | v4는 무작위라 생성 순서대로 정렬되지 않습니다. 시간순 정렬이 필요하면 별도 타임스탬프 컬럼을 두세요. |
| 보안 | 추측이 어렵긴 하나 UUID 자체는 인증 수단이 아닙니다. 비밀번호·토큰 대용으로 쓰지 마세요. |
자주 묻는 질문
UUID v4와 v1은 뭐가 다른가요?
v1은 시간과 기기 MAC 주소를 섞어 만들어 순서 정보가 담기지만 하드웨어 정보가 노출될 수 있습니다. v4는 순서 정보 없이 난수로만 만들어 개인·기기 정보가 들어가지 않습니다. 이 도구는 v4를 만듭니다.
같은 값이 두 번 나올 수 있나요?
가능성이 0은 아니지만 확률이 극히 낮아 현실적으로 신경 쓰지 않아도 됩니다. 다만 절대 중복이 없어야 하는 결제·회계 같은 영역이라면 DB에 유니크 제약을 걸어 이중으로 막는 것이 안전합니다.
한 번에 몇 개까지 만들 수 있나요?
브라우저에서 처리하므로 수백~수천 개 정도는 무리 없습니다. 너무 큰 수를 넣으면 화면 표시가 느려질 수 있으니 필요한 만큼만 생성하세요.
대문자로 바꿔도 같은 UUID인가요?
네. 16진수 표기라 A와 a는 동일한 값입니다. 시스템에 따라 소문자만 허용하기도 하니 저장 규칙을 한 가지로 정해두는 편이 좋습니다.