UUID / ULID / NanoID

이 브라우저에서 처리

텍스트 한도: 2000000자

이 도구는 입력을 업로드하지 않습니다.

UUID v4, UUID v7, ULID, NanoID를 이 탭에서 만듭니다. v7과 ULID는 생성 시각이 드러나고, v4와 NanoID는 무작위입니다. 어느 것도 세션 비밀이 아닙니다.

주문 테이블 기본키를 gen_random_uuid()로 넣었더니 인덱스가 여기저기 흩어집니다. 이 페이지의 일은 v4, v7, ULID, NanoID 네 가지를 이 탭에서 뽑아 보는 것입니다.

비밀번호를 만드는 도구가 아닙니다. 그건 비밀번호 생성입니다. 문자열 지문이 필요하면 해시 생성입니다.

어떤 형식을 고를지

  • UUID v7 — 신규 Postgres·MySQL 기본키. 기존 uuid 컬럼과 호환되고, RFC 9562 표준입니다.
  • UUID v4 — 이미 쓰는 무작위 UUID. 공개 식별자에 시각을 숨길 때.
  • ULID — 26자 문자열. Kafka 키, 오브젝트 스토리지 경로처럼 텍스트만 다루는 곳.
  • NanoID — 짧은 공유 코드. 생성 시각이 새면 안 되는 공개 URL.

한국 백엔드 글에서 v7과 ULID를 비교할 때 자주 나오는 기준은 표준이냐, 네이티브 컬럼이냐입니다. 스키마를 바꾸기 싫으면 v7이 이깁니다.

사용 순서

  1. 종류를 고릅니다. 하이픈이 없는 v4/v7이 필요하면 옵션을 끄세요.
  2. 개수를 정한 뒤 생성합니다. 값은 이 탭의 crypto.getRandomValues로 만듭니다.
  3. 붙여 넣을 곳만 복사합니다. 운영 시크릿과 같은 메모장에 두지 마세요.

정직한 제한

  • 한 번에 200개입니다. 대량 적재는 서버에서 하세요.
  • v7·ULID는 밀리초 시각이 들어 있습니다. 생성 시각을 숨기는 토큰이 아닙니다.
  • NanoID 길이를 여기서 조절하지 않습니다. 21자입니다.
  • 값은 서버로 올리지 않습니다. 그래도 화면에 남은 ID를 스크린샷으로 공유하지 마세요.

식별자 유틸리티입니다. 인증 설계가 아닙니다.

자주 묻는 질문

새 테이블 기본키는 v4와 v7 중 무엇을 쓰나요?

RFC 9562의 v7은 밀리초 시각과 난수를 붙여 B-트리 삽입이 한쪽으로 몰립니다. 기존 uuid 컬럼 타입을 그대로 쓸 수 있습니다. 공개 URL에 생성 시각을 숨기고 싶으면 v4가 맞습니다.

ULID와 UUID v7은 무엇이 다른가요?

둘 다 시간순으로 정렬됩니다. ULID는 26자 Crockford Base32 문자열이고 IETF UUID 타입이 아닙니다. Postgres uuid 컬럼이 있으면 v7, 이미 ULID 문자열을 쓰는 로그·S3 키면 ULID를 유지하세요.

NanoID는 언제 고르나요?

공유 링크처럼 짧게 URL에 넣는 식별자입니다. UUID가 아니고 시간순도 아닙니다. 너무 짧게 자르면 생일 문제(충돌)가 커집니다. 이 페이지는 21자입니다.

한 번에 몇 개까지 만들 수 있나요?

최대 200개입니다. 수백만 행을 채우는 마이그레이션은 애플리케이션이나 데이터베이스 함수가 맞습니다.

UUID를 비밀번호처럼 써도 되나요?

안 됩니다. v7과 ULID는 시각이 드러납니다. 로그인 비밀은 비밀번호 생성기를 쓰세요.

Snowflake나 CUID도 있나요?

없습니다. 워커 ID가 필요한 Snowflake와 CUID2는 이 탭에 없습니다.

관련 도구