본문 바로가기

UUID 생성기

충돌 없는 UUID v4(및 NanoID)를 원하는 개수만큼 한 번에 생성해 복사합니다.

브라우저에서 로컬 처리 · 서버 업로드 없음
ID 종류

UUID 생성기 소개

UUID 생성기는 UUID v4, NanoID, ULID 세 가지 형식의 식별자를 원하는 개수만큼 한 번에 만듭니다. 테스트 데이터를 채우거나 시드 스크립트를 쓸 때, 또는 새 레코드의 키가 필요할 때 바로 복사해 쓸 수 있습니다.

셋은 성격이 다릅니다. UUID v4는 RFC 4122 표준으로 호환성이 가장 좋고 128비트 중 122비트가 무작위입니다. 충돌 확률이 궁금하다면, 50%가 되려면 대략 2⁶¹개를 만들어야 하므로 현실적으로 걱정할 일이 아닙니다. NanoID는 21자로 짧고 URL에 바로 넣을 수 있는 문자만 쓰므로 공유 링크의 식별자로 적합합니다. ULID는 앞부분에 생성 시각이 담겨 있어 문자열로 정렬하면 시간순이 됩니다.

데이터베이스 기본키로 쓸 생각이라면 한 가지 고려할 점이 있습니다. UUID v4는 완전히 무작위라 새 행이 인덱스의 아무 데나 삽입되고, 이 때문에 B-트리 인덱스가 조각나 쓰기 성능이 떨어질 수 있습니다. 데이터가 많아지는 테이블이라면 시간순으로 증가하는 ULID나 UUID v7을 쓰면 삽입이 인덱스 끝에 몰려 이 문제를 줄일 수 있습니다. 세 방식 모두 암호학적 난수를 쓰므로 값을 예측하기 어렵지만, 수학적으로 유일성이 보장되는 것은 아니므로 정말 중요한 곳에는 데이터베이스의 유니크 제약을 함께 걸어 두세요. 한 번에 1,000개까지 만들 수 있습니다.

사용 방법

  1. 원하는 ID 종류(UUID v4 · NanoID · ULID)를 선택하세요.
  2. 생성 개수를 입력하고, 필요하면 대문자·하이픈 제거 옵션을 켜세요.
  3. 생성 버튼을 누르면 목록이 만들어집니다. 입력을 바꾼 뒤 다시 누르면 새로 생성됩니다.
  4. 각 줄의 복사 버튼으로 한 개씩, 또는 전체 복사로 한 번에 가져가세요.

자주 묻는 질문

UUID v4, NanoID, ULID 중 무엇을 써야 하나요?
UUID v4는 표준(RFC 4122)으로 호환성이 가장 좋아 데이터베이스 기본키 등에 널리 쓰입니다. NanoID는 21자로 짧고 URL에 안전한 ID가 필요할 때 적합합니다. ULID는 앞부분에 생성 시각(타임스탬프)이 담겨 시간순 정렬이 가능합니다.
생성된 ID는 정말 중복되지 않나요?
세 방식 모두 crypto.getRandomValues 같은 암호학적 난수를 사용해 사실상 충돌 확률이 무시할 만큼 낮습니다. 다만 수학적으로 100% 유일성을 보장하지는 않으므로, 매우 민감한 용도라면 서버에서 중복 검사를 함께 두는 것을 권장합니다.
대문자로 만든 UUID는 다른 값인가요?
UUID 규격에서는 대소문자를 구분하지 않으므로 같은 값입니다. 다만 데이터베이스나 코드에서 문자열로 비교하면 다르게 취급되어 조회가 되지 않는 일이 생깁니다. 시스템 전체에서 한 가지 표기로 통일하시고, 표준 문서의 예시는 소문자를 씁니다.
한 번에 몇 개까지 만들 수 있나요?
1개부터 1,000개까지 생성할 수 있습니다. 너무 많은 개수는 브라우저 성능에 영향을 줄 수 있어 상한을 두었습니다.