メインコンテンツへ
短.be

Base62 エンコーディング

英数字 62 文字 (a-z, A-Z, 0-9) を使ってデータを表現するエンコード方式。短縮 URL のショートコード生成に広く使われる。

2025年11月7日 · 約 1 分で読めます

URL 短縮

Base62 エンコーディングとは、英小文字 26 文字 (a-z) + 英大文字 26 文字 (A-Z) + 数字 10 文字 (0-9) の合計 62 文字を使ってデータを表現するエンコード方式です。短縮 URL のショートコード生成で最も広く使われている手法です。

なぜ Base62 が短縮 URL に適しているかを数字で示します。6 文字の Base62 コードで表現できるパターン数は 62 の 6 乗 = 約 568 億通りです。7 文字なら約 3.5 兆通りになります。これは世界中の短縮 URL サービスが数十年運用しても枯渇しない規模です。

短縮 URL サービスの内部では、URL ごとに一意の整数 ID を採番し、その ID を Base62 に変換してショートコードを生成するのが一般的な実装パターンです。たとえば ID = 12345 を Base62 に変換すると「3d7」(3 文字) になります。ID が大きくなるほどコードも長くなりますが、数百億件までは 6 文字以内に収まります。

Base62 と似た方式に Base64 がありますが、Base64 は「+」と「/」を含むため URL に使うとエンコードが必要になります。Base62 は URL セーフな文字のみで構成されるため、追加のエンコード処理が不要です。これが短縮 URL で Base62 が好まれる理由です。

Base62 の実装は非常にシンプルで、10 進数を 62 進数に変換するだけです。多くのプログラミング言語で数行のコードで実装できます。ただし、連番の ID をそのまま Base62 に変換すると、ショートコードが予測可能になるセキュリティ上の懸念があります。対策として、ID にランダムなオフセットを加えたり、ハッシュ関数を組み合わせたりする手法が使われます。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

Base62 と Base64 の違いは?
Base64 は 64 文字 (英数字 + 「+」「/」) を使いますが、「+」と「/」は URL で特殊な意味を持つため、URL に含めるにはパーセントエンコーディングが必要です。Base62 は英数字のみなので URL にそのまま使え、短縮 URL に最適です。
Base62 のショートコードは何文字が一般的ですか?
6 〜 7 文字が一般的です。6 文字で約 568 億パターン、7 文字で約 3.5 兆パターンを表現でき、大規模サービスでも十分な容量です。
ショートコードが予測されるリスクはありますか?
連番 ID をそのまま Base62 に変換すると、次のコードが予測可能になります。対策として、ID にランダムなシードを加える、ハッシュ関数で変換する、ランダムな文字列を直接生成するなどの方法があります。

短縮 URL を作成してみませんか?

無料で URL を短縮する