Show GN: idt: 다양한 id 포맷을 다루는 cli 도구
(github.com/sh-cho)개발을 하다 보면 UUID, ULID, Snowflake 등 다양한 ID 포맷을 사용하는 경우가 많은데요, 이때 매번 온라인 변환기를 찾거나 변환 등을 위한 스크립트를 짜는 게 번거로워, 터미널에서 바로 쓸 수 있는 CLI 도구를 만들었습니다.
주요 기능
- 생성: UUID(v1/v4/v6/v7), ULID, NanoID, Snowflake, KSUID, TypeID 등
- 분석: 아무 ID를 넣으면 타입을 추론하고, 타임스탬프·랜덤 비트 등 내부 구조 분석
- 변환: hex, base32, base58, base64 등 다양한 인코딩 사이 변환
- 파이프 지원:
idt gen uuid | idt inspect같은 조합 가능
설치방법
# Using cargo
cargo install idt
# Using homebrew
brew install sh-cho/tap/idt
사용 예
# Generate a UUIDv7
$ idt gen uuidv7
019c04e5-6118-7b22-95cb-a10e84dad469
# Inspect the generated ID
$ idt inspect 019c04e5-6118-7b22-95cb-a10e84dad469
UUIDV7
019c04e5-6118-7b22-95cb-a10e84dad469
Time 2026-01-28T13:57:47.416Z
Version 7
Variant RFC4122
Random 62 bits
Hex 019c04e561187b2295cba10e84dad469
Base64 AZwE5WEYeyKVy6EOhNrUaQ==
Int 2139325608653621017571381452845274217
# Convert to different formats
$ idt convert 019c04e5-6118-7b22-95cb-a10e84dad469 -f base64
AZwE5WEYeyKVy6EOhNrUaQ==