본문 바로가기

UUID 생성기

서로 겹치지 않는 고유 식별자를 필요한 개수만큼 즉시 만듭니다. v4·v1·v5와 NIL UUID를 지원합니다.

로딩 중...

왜 만들었나요

테스트 데이터를 만들 때마다 UUID가 필요한데, 콘솔을 열어 코드를 치거나 아무 사이트나 들어가는 게 번거로웠습니다. 랜덤 ID 생성이 필요한 만큼 한 번에 되고 복사까지 되게 만들었습니다.

Note

만들어진 값은 서버로 전송되지 않습니다. 생성이 전부 브라우저 안에서 이뤄지고, v5에 넣은 이름도 기기 밖으로 나가지 않습니다.


UUID 생성기 사용 방법

  1. 위쪽에서 버전을 고릅니다. v5를 고르면 네임스페이스와 이름 입력칸이 나타나며, 이름을 비우면 결과가 나오지 않습니다. v5와 NIL은 개수가 1개로 고정됩니다.

    UUID v4로 5개를 만든 목록 — 위쪽에 UUID v4·v1·v5·NIL UUID 버전 탭과 개수 조절, 전체 복사 버튼

    UUID v5를 고르자 DNS·URL·OID·X.500 네임스페이스와 이름 입력칸이 나타나고 개수가 1개로 고정된 화면

  2. 개수를 정하면 그 즉시 목록이 만들어집니다. 같은 조건으로 새 값이 필요하면 개수 옆 다시 생성 버튼을 누르세요.

  3. 각 줄을 클릭하면 그 값만, 전체 복사 버튼을 누르면 목록 전체가 줄바꿈으로 구분되어 복사됩니다.

이렇게 나옵니다

v4로 3개를 뽑으면 이렇게 나옵니다.

550e8400-e29b-41d4-a716-446655440000
3f2b9c14-4d7e-4a91-9b2f-8c6d5e0a1234
f47ac10b-58cc-4372-a567-0e02b2c3d479

하이픈으로 8-4-4-4-12 자리씩 끊은 36글자 형태입니다.

알아두면 좋은 것

버전별 차이

버전만드는 방식언제 쓰나
v4완전 무작위대부분의 경우. 기본으로 이걸 쓰면 됩니다
v1시간 + 기기 정보만든 순서를 알아야 할 때
v5이름을 정해진 규칙으로 변환같은 이름이면 항상 같은 값이 필요할 때
NIL전부 0인 정해진 값"빈 값" 자리를 채워 넣어야 할 때 (1개만 나옵니다)

v5는 "이메일 주소로 항상 같은 ID를 만들고 싶다" 같은 경우에 씁니다. 같은 네임스페이스와 이름을 넣으면 몇 번을 눌러도 같은 값이 나옵니다.

왜 겹치지 않나

v4는 122비트 무작위 값을 씁니다. 매초 10억 개씩 100년을 만들어도 겹칠 확률은 사실상 0입니다. 그래서 서버끼리 미리 상의하지 않고도 각자 만든 ID가 부딪히지 않습니다.

이런 경우에는

v1을 쓰면 기기 정보가 노출되나요

원래 v1은 기기의 네트워크 주소를 넣도록 되어 있지만, UUID 생성기는 실제 주소 대신 매번 새로 만든 무작위 값을 씁니다. 기기 정보가 담기지 않습니다.

데이터베이스 기본키로 써도 되나요

써도 되지만 알아 둘 점이 있습니다. v4는 순서가 없어서 값이 여기저기 흩어져 저장되고, 데이터가 많아지면 성능에 영향을 줄 수 있습니다. 순서가 중요한 곳이라면 시간순으로 정렬되는 식별자를 만드는 ULID 생성기를 쓰세요.

어떤 버전을 골라야 하나요

고민되면 v4를 쓰면 됩니다. 실제 쓰이는 UUID의 대부분이 v4입니다.

이럴 때고를 것
그냥 겹치지 않는 ID가 필요함v4
만든 순서를 알아야 함v1 (또는 ULID)
같은 입력이면 항상 같은 IDv5
데이터베이스 기본키ULID도 검토

대문자로 바꿔 써도 되나요

됩니다. UUID는 대소문자를 구분하지 않습니다. a1b2A1B2는 같은 값으로 취급됩니다.

다만 한 시스템 안에서는 한쪽으로 통일하는 편이 좋습니다. 문자열을 그대로 비교하는 코드가 있으면 대소문자가 다르다는 이유로 다른 값으로 판단할 수 있기 때문입니다.

이 도구로는 안 되는 것

  • 비밀번호나 토큰으로 쓰지 마세요. UUID는 겹치지 않게 만들 뿐 추측을 막기 위한 값이 아닙니다 — 비밀번호 생성기를 쓰세요
  • 이미 있는 UUID가 몇 버전인지 알려 주지 않습니다 — UUID 생성기는 만들기만 합니다
  • 시간순 정렬이 필요하면 ULID 생성기가 맞습니다

용어 설명

UUID

세상에서 겹치지 않는 값을 목표로 만든 식별자입니다. 중앙에서 번호를 나눠 주지 않아도 각자 만들 수 있어서, 여러 서버·기기가 동시에 데이터를 만드는 환경에서 널리 쓰입니다.

네임스페이스

v5에서 쓰는 기준이 되는 UUID입니다. 같은 이름이라도 네임스페이스가 다르면 다른 값이 나오므로, 용도별로 구분할 때 씁니다.

UUID 생성기 자주 묻는 질문

UUID v4, v1, v5는 서로 어떻게 다른가요?

v4는 완전한 무작위 난수로 매번 다른 값을 만듭니다. v1은 생성 시각과 클록 시퀀스를 조합해 시간 정보를 담고, v5는 네임스페이스와 이름 문자열을 SHA-1로 해시하기 때문에 같은 입력을 넣으면 항상 같은 값이 나오는 결정적 방식입니다. 상황에 맞게 예측 불가능성이 필요하면 v4, 특정 이름에 대응하는 고정 ID가 필요하면 v5를 선택하면 됩니다.

한 번에 최대 몇 개의 식별자를 생성할 수 있나요?

v4와 v1은 한 번에 최대 200개까지 생성할 수 있습니다. +/- 버튼으로는 50까지 올라가고, 그보다 많이 필요하면 개수 입력창에 숫자를 직접 넣으면 됩니다. 반면 v5는 같은 네임스페이스·이름이면 항상 같은 값이 나오고 NIL은 값이 하나로 고정돼 있어, 두 버전에서는 개수 조절이 잠기고 한 개만 생성됩니다.

생성된 데이터는 서버에 저장되거나 외부로 유출되지 않나요?

네, 안전합니다. 유틸집의 UUID 생성기는 사용자의 웹 브라우저 기기 내에서 직접 난수를 연산하여 결과값을 화면에 보여주는 방식으로 동작합니다. 생성된 어떤 식별자 정보도 서버로 전송되거나 저장되지 않으므로 개인 프로젝트나 실무 환경에서 안심하고 사용하실 수 있습니다.

UUID를 대문자로 바꿔 써도 되나요?

됩니다. UUID는 대소문자를 구분하지 않아 a1b2와 A1B2는 같은 값으로 취급됩니다. 다만 한 시스템 안에서는 한쪽으로 통일하는 편이 좋습니다. 문자열을 그대로 비교하는 코드가 있으면 대소문자가 다르다는 이유만으로 서로 다른 값이라고 판단할 수 있기 때문입니다. 일반적으로는 소문자 표기가 널리 쓰입니다.

데이터베이스 기본키로 UUID를 써도 괜찮나요?

가능하지만 한 가지 감안할 점이 있습니다. v4는 완전 무작위라 순서 개념이 없어 값이 저장 공간 곳곳에 흩어지고, 데이터가 많아지면 조회와 삽입 성능에 영향을 줄 수 있습니다. 순서가 중요한 곳이라면 시간순으로 정렬되는 ULID를 검토해 보세요. 반대로 값에서 만든 시각이 드러나면 안 되는 경우라면 v4가 맞습니다.

마지막 업데이트: