Short UUID Generator

URLフレンドリーな用途のための22文字のBase58エンコードされたコンパクトUUIDを生成

これらの例を試してください:

Short UUIDとは?

Short UUID は標準の128ビットUUIDをより短く、URLに適した文字列に圧縮する技術です。通常、以下を含みます:

  • 基数変換: UUIDを16進数(base-16)からより高い基数(通常はbase-58またはbase-62)に変換する
  • 文字セットの選択: 曖昧さのないURL安全な文字セットを使用する
  • ロスレス圧縮: 元のUUIDのすべての情報を保持する

変換例:

  • 標準UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
  • Short UUID(base-58): 2kLrTdCQVWFjc7dYXzzB5A

Short UUIDの仕組み

  1. 標準UUIDからハイフンを取り除く
  2. 結果として得られる32文字の16進文字列を10進数に変換する
  3. 10進数をより高い基数(58、62、64など)に変換する
  4. 必要に応じて結果をパディングして一貫した長さにする

一般的なエンコーディングアルファベットには以下が含まれます:

  • Base-58: 曖昧さのない文字を除いた英数字(0、O、I、lを除く)
  • Base-62: すべての英数字(a-z、A-Z、0-9)
  • Base-64: 英数字に加え2つの特殊文字(通常は+と/)

利点と考慮事項

AdvantagesConsiderations
  • URLに適した形式
  • 文字数の節約(40-50%)
  • ユーザー体験の向上
  • 完全な双方向変換
  • 基数変換のオーバーヘッド
  • 実装の複雑さ
  • データベース保存の考慮
  • 非標準形式

長さの比較

FormatLength文字セットExample
標準UUID36文字16進数+ハイフンf47ac10b-58cc-4372-a567-0e02b2c3d479
16進数(ハイフンなし)32文字0-9、a-ff47ac10b58cc4372a5670e02b2c3d479
Base-5822文字0、O、I、lを含まない2kLrTdCQVWFjc7dYXzzB5A
Base-62~22文字Alphanumeric3pqLYdcw9TGKxNVgeO0gOd
Base-64~22文字英数字+記号9HrBC1jMQ3KlZw4CssPUeQ==

一般的なBase-58アルファベット

Base-58アルファベットは、等幅フォントと比例フォントの両方で表示したときに視覚的に曖昧さがないよう設計されています:

文字セットContent
Numbers1-9(0を除く)
大文字A-Z(I、Oを除く)
小文字a-z(lを除く)

文字: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

一般的な使用例

  • URL短縮: よりコンパクトなURLパラメータ
  • 公開用ID: ユーザーまたはコンテンツ識別子
  • QRコード最適化: 文字数削減=よりシンプルなコード
  • モバイルアプリケーション: データ転送量削減
  • API設計: よりクリーンでコンパクトなリソース識別子
  • ソーシャルシェアリング: よりユーザーフレンドリーなリンク

よくある質問

Short UUIDは標準UUIDと同じくらいユニークですか?

はい。Short UUIDは同じ128ビット値の異なる表現に過ぎません。変換はロスレスで、標準UUIDのすべてのユニーク性を保持します。

標準UUIDとShort UUIDの間で変換できますか?

はい。変換は双方向で、標準UUIDをShort UUIDにエンコードし、元の標準UUIDに正確にデコードできます。

どの基数エンコーディングが最も推奨されますか?

Base-58は曖昧な文字(0/Oおよびl/I)を避け、URL安全でURLエンコードを必要としないため、よく推奨されます。

Short UUIDはどのくらい短いですか?

標準UUIDは36文字(ハイフン付き)です。Short UUIDは通常、base-58/62/64エンコーディングで22文字で、約40%短縮されます。

Short UUIDをデータベースに保存すべきですか?

一般的には、標準UUID形式をデータベースに保存し、表示やURLでのみShort UUIDに変換することが推奨されます。これにより、データベースのUUID型との互換性が向上します。

Resources