onlinetools.dev

UUID 생성기

UUID v4/v7, ULID, Nano ID 생성 — 단건 또는 대량

로컬 실행
loading…
이 도구에 대해

네 가지 형태의 범용 고유 식별자를 생성합니다. UUID v4(완전 무작위, 일상적인 기본값), UUID v7(시간순 정렬, 데이터베이스 키의 현대적 선택), ULID(시간순 정렬에 간결한 Crockford Base32 표기), Nano ID(짧고 URL 친화적). 한 번에 하나부터 최대 천 개까지 생성할 수 있으며, 한 줄에 하나씩 시드 스크립트에 바로 붙여넣을 수 있습니다.

무작위성은 Math.random이 아니라 암호학적으로 안전한 소스인 Web Crypto API(crypto.getRandomValues)에서 나옵니다. 생성은 로컬에서 이루어지므로 이 ID들은 다른 누구에게도 알려지지 않고, 어디에도 기록되지 않으며, 오프라인에서도 사용할 수 있습니다.

새 시스템의 ID 형식을 고르는 중이라면: v7과 ULID는 생성 시간순으로 정렬되어 B-tree 인덱스를 건강하게 유지하고 로그에서 ID가 대략 시간순이 되게 합니다. v4는 언제 만들어졌는지 아무것도 드러내지 않는데, 가끔은 그것이 정확히 원하는 바이기도 합니다.

자주 묻는 질문

UUID v4와 v7은 무엇이 다른가요?
v4는 122비트 무작위입니다. v7(RFC 9562)은 48비트 Unix 밀리초 타임스탬프로 시작하고 그 뒤에 무작위 비트가 오므로, 나중에 생성된 ID가 나중에 정렬됩니다. 데이터베이스 기본 키로는 v7이 보통 삽입 지역성과 인덱스 크기를 개선합니다. 순서가 무관하거나 타이밍이 유출되면 안 되는 곳에서는 v4가 여전히 적합합니다.
생성된 두 UUID가 충돌할 수 있나요?
122비트 무작위라면 확률이 너무 작아 대비할 가치가 없습니다. 아주 희박한 가능성에라도 도달하려면 수십 년간 초당 수십억 개의 ID를 생성해야 합니다. 실무에서의 충돌은 무작위성이 아니라 버그(시드 재사용, 행 복사)에서 옵니다.
왜 UUID v7 대신 ULID를 선택하나요?
둘은 같은 문제를 풉니다. ULID는 대소문자 구분 없는 Crockford Base32 26문자로, URL과 로그에서 더 짧고 깔끔합니다. v7은 모든 데이터베이스와 라이브러리가 이미 받아들이는 표준 36문자 UUID 형태를 유지합니다. 여러분의 생태계가 더 자연스럽게 다루는 쪽을 고르세요.
이 ID들을 비밀 키나 토큰으로 써도 되나요?
무작위성 자체는 암호학적으로 안전하지만, ID는 보통 표시되고, 로깅되고, 인덱싱됩니다. 즉 공개 정보로 취급됩니다. 세션 토큰이나 API 키에는 최소 128비트 무작위의 전용 시크릿을 생성하고 비밀번호처럼 다루세요.
관련 도구