ULID / NanoID / CUID2 생성기
ULID·NanoID·CUID2 대량 생성 — UUID 대안, 더 짧고 정렬 가능하거나 충돌 저항성 강화.
설명
ULID: 26자 · 48비트 타임스탬프 + 80비트 무작위 · Crockford Base32 · 시간 순 정렬.
사용법
- 방식 선택(ULID·NanoID·CUID2).
- NanoID/CUID2는 길이, NanoID는 알파벳도 선택.
- 개수 설정 후 생성. 개별 또는 일괄 복사.
자세한 설명
펼치기접기
ULID, Nano ID, CUID2를 한꺼번에 생성합니다. 모두 브라우저의 암호학적 난수원에서 나옵니다. 무엇을 고를지는 그 ID가 무슨 일을 해야 하는지에 달려 있습니다. ULID는 크록퍼드 base32로 된 26글자이고 앞의 열 글자가 생성 시각을 밀리초 단위로 담고 있어서, 목록을 그냥 텍스트로 정렬해도 시간순이 됩니다. 완전 무작위인 UUID는 삽입이 인덱스 전체에 흩어지는 반면 ULID가 더 나은 데이터베이스 키가 되는 이유가 바로 이 시간 정렬입니다. Nano ID는 짧고 조절할 수 있습니다. 길이와 알파벳을 고를 수 있는데 기본값은 소문자와 숫자라, 대소문자를 구분하지 않는 파일 시스템이나 누군가 손으로 다시 입력할 URL에서도 살아남습니다. CUID2는 충돌 저항성을 앞세우며 언제 어디서 만들어졌는지는 전혀 드러내지 않습니다.
자주 묻는 질문
ULID vs UUIDv4?
둘 다 128비트 무작위지만 ULID 앞 48비트는 타임스탬프 — 나중 생성 ID가 뒤로 정렬됨, DB PK에 유용.
왜 UUID 대신 NanoID?
더 짧음(21자 vs 36), 기본 URL 안전, 알파벳 설정 가능. 기본 크기에서 UUIDv4와 동일 강도.
CUID2는 안전한가요?
네 — 암호학적 RNG, 길이 설정 가능. 타임스탬프/지문 누출 없도록 설계.
RFC 표준인가요?
ULID는 커뮤니티 스펙. NanoID·CUID2는 사실상 표준이지만 UUID처럼 RFC 번호는 없음.
데이터베이스에서 ULID의 정렬 순서가 왜 중요한가요?
생성 시각 순으로 정렬되는 기본 키는 새 행이 인덱스 전체에 흩어지지 않고 끝에 차곡차곡 쌓이게 하므로, 페이지가 촘촘하게 유지되고 삽입 비용도 낮게 유지됩니다. 완전 무작위인 UUID는 정반대로 동작하며, UUIDv4를 키로 쓰는 큰 테이블이 시간이 지나며 인덱스가 조각나는 이유가 이것입니다.
ID에 시각을 담으면 무언가 새어 나가나요?
그렇습니다. ULID는 레코드가 언제 만들어졌는지를 밀리초 단위로 공개적으로 알리고, ID 두 개만 있으면 그 사이 간격도 드러납니다. 내부 행 키로는 괜찮지만 공개 URL에서는 덜 괜찮습니다. 가입 속도나 주문량이 드러날 수 있기 때문입니다. CUID2가 존재하는 이유가 정확히 그것입니다.
이 주제의 가이드
관련 도구
UUID 생성기
무작위 버전4 UUID를 여러 개 한 번에 생성하고 복사하세요.
개발
ULID 디코더 (타임스탬프 & 랜덤성)
ULID를 48비트 생성 타임스탬프와 80비트 랜덤성으로 디코딩 — Crockford Base32, 대소문자 무관, 시간을 ISO UTC·상대·에폭 밀리초로 표시 — 브라우저에서.
개발
Snowflake ID 디코더 (Discord, Twitter)
Discord·Twitter/X·Instagram Snowflake ID를 생성 타임스탬프, 워커/프로세스 또는 데이터센터, 시퀀스로 디코딩 — 커스텀 에폭 모드 포함 — 브라우저에서.
개발
Git 객체 ID 계산기 (hash-object)
blob·tree·commit·tag의 git 객체 ID를 SHA-1과 SHA-256으로 계산하고, git이 해시하는 헤더와 루스 객체 경로까지 보여줍니다.
개발
PGP 공개키 검사기
ASCII 아머 형식 OpenPGP 공개키를 해석합니다. 전체 지문, 키 ID, 알고리즘, 길이, 생성·만료일, 사용자 ID와 서브키를 보여 줍니다.
개발
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발