ULID 생성기 (ULID / Crockford Base32 / Monotonic 지원)
이 도구에 대하여
ULID(Universally Unique Lexicographically Sortable Identifier)를 생성하는 도구이다.
ULID는 48비트 에포크 타임스탬프(밀리초)와 80비트 난수로 구성되며,
Crockford Base32(0123456789ABCDEFGHJKMNPQRSTVWXYZ
)로 26자 문자열로 인코딩된다.
시각 소스(Local / IANA / 고정 오프셋)와 사용할 시각(현재 또는 지정)을 선택할 수 있으며,
프리뷰에 표시되는 UTC/로컬 값은 생성에 사용하는 타임스탬프와 항상 일치한다.
ULID 사양상 타임스탬프는 UTC 밀리초이며, 타임존은 표시 방식에만 영향을 준다.
시각 확인
생성·출력
사용 방법
- 시각 확인에서 Local / IANA / 고정 오프셋을 선택한다(대부분 기본값이면 충분하다).
- 사용할 시각에서 현재 시각 또는 지정 시각을 고른다. 지정 시에는
YYYY-MM-DDTHH:MM[:SS[.mmm]]
형식으로 입력하면 프리뷰와 생성에 그대로 적용된다. - 생성 개수를 정하고 필요하면 Monotonic 생성을 켠 뒤 생성을 누른다. 결과는 줄 단위로 표시된다.
추가 메모
- 프리뷰에는 현재 UTC와 선택한 소스의 로컬 시각이 함께 표시되며, 생성 시 이 타임스탬프가 그대로 사용된다.
- IANA 타임존은 반복 계산으로 서머타임(DST)을 반영해 오프셋을 결정한다.
- 버튼을 누를 때마다 난수 상태를 초기화하므로 같은 밀리초·설정으로도 새 시퀀스를 얻을 수 있다.
주의 사항
- ULID 타임스탬프는 항상 UTC 에포크 밀리초이며 타임존은 표시용에만 영향을 준다. 현재 시각으로 생성할 때는 타임존을 바꿔도 타임스탬프 비트는 변하지 않는다.
- 지정 시각을 선택했을 때만 입력한 벽시계 시각을 선택 소스 기준으로 UTC로 변환해 타임스탬프에 적용한다.
- Monotonic ON: 동일 밀리초에서 난수부를 증가시켜 단조 ULID를 만든다. OFF: 난수를 완전히 섞는다.
ULID란?
ULID는 48비트 밀리초 타임스탬프와 80비트 난수로 구성되어 ASCII 순서대로 시간 정렬이 된다.
UUID v7처럼 시간 순서 정렬이 쉽고, Crockford Base32를 쓰므로 URL과 파일 이름에 안전하다(가독성을 위해 I/L/O/U
를 제외한 대문자 26자).