UUID 생성기

RFC4122 v4 UUID를 원하는 개수·형식으로 생성합니다.

테이블에 넣을 기본키가 필요하거나, 테스트 데이터에 겹치지 않는 식별자를 몇십 개 채워야 할 때가 있습니다. 그럴 때 매번 코드를 켜기는 번거롭습니다.

개수를 정하고 생성을 누르면 UUID가 줄바꿈으로 나열되고, 전체 복사 한 번으로 에디터에 그대로 옮길 수 있습니다.

어떻게 계산되나요

사용 방법

개수에 1~100 사이 숫자를 넣고 생성을 누르면 그만큼의 UUID가 한 줄에 하나씩 출력됩니다. 전체 복사를 누르면 출력된 목록 전부가 클립보드에 담깁니다. 개수나 옵션을 바꾸면 목록이 즉시 다시 만들어집니다.

두 가지 옵션

옵션결과
대문자A1B2… 처럼 16진수 문자를 대문자로 바꿉니다
하이픈 제거구분선을 없앤 32자리 문자열로 출력합니다

두 옵션은 표기만 바꾸는 것이고 값 자체는 같습니다. 다만 CHAR(36) 컬럼에 하이픈 없는 32자를 넣거나 그 반대로 하면 조회가 어긋나므로, 프로젝트 안에서는 한 가지 표기로 통일하는 편이 안전합니다.

v4 UUID의 구조

8-4-4-4-12 형태의 36자 문자열이며, 세 번째 그룹 첫 글자는 항상 4(버전), 네 번째 그룹 첫 글자는 8·9·a·b 중 하나(변형)입니다. 나머지 122비트가 난수입니다. 생성에는 브라우저의 crypto.randomUUID()를 쓰고, 지원하지 않는 환경에서는 같은 규격으로 직접 만들어 냅니다.

흔한 실수

v4 UUID에는 순서 정보가 없어 기본키로 쓰면 인덱스가 흩어질 수 있습니다. 정렬이 중요한 테이블이라면 별도의 생성 시각 컬럼을 두는 편이 낫습니다.

용어 정리

UUID
서로 겹치지 않도록 설계된 128비트 식별자입니다. 보통 8-4-4-4-12 형식의 36자로 표기합니다.
v4
난수를 기반으로 만드는 UUID 방식입니다. 시각이나 기기 정보가 들어가지 않습니다.
RFC 4122
UUID의 형식과 버전을 정해 둔 표준 문서입니다.
하이픈 제거
`-`를 뺀 32자리 표기입니다. 컬럼 길이를 아끼거나 URL에 넣을 때 씁니다.
전체 복사
출력된 목록 전부를 줄바꿈 그대로 클립보드에 담는 버튼입니다.

자주 묻는 질문

UUID가 중복될 수도 있나요?

v4는 122비트를 난수로 채우므로 실무 범위에서 겹칠 가능성은 사실상 없다고 봅니다. 다만 이론적으로 0은 아니므로, 중복이 치명적인 컬럼에는 유니크 인덱스를 함께 걸어 두는 편이 안전합니다.

생성된 UUID가 서버로 전송되나요?

아닙니다. 브라우저 안에서 만들어져 화면에 표시될 뿐 서버로 보내지 않고 저장하지도 않습니다.

하이픈을 뺀 32자와 하이픈이 있는 36자는 다른 값인가요?

같은 값의 다른 표기입니다. 문제는 문자열 비교에서 생깁니다. 저장할 때와 조회할 때 표기가 다르면 같은 값이라도 매칭되지 않으므로 한쪽으로 통일해 두세요.

MySQL에 저장할 때 어떤 타입이 좋나요?

가장 단순한 방법은 `CHAR(36)`입니다. 용량과 인덱스 크기를 줄이려면 하이픈을 뺀 값을 `BINARY(16)`으로 변환해 넣는 방식도 씁니다. 조회 편의와 용량 중 무엇이 중요한지에 따라 고르면 됩니다.

한 번에 100개보다 많이 만들 수 있나요?

입력 상한이 100개입니다. 더 필요하면 생성을 여러 번 눌러 나눠서 복사하세요.