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==
2件のコメント
印象的な作品ですね!!
使ってみて、イシューやフィードバックを残します(笑)
ありがとうございます(笑)