Base64 URL-safe 変換ツール|標準と URL-safe を 1 画面で並列出力
テキストを標準 Base64 と URL-safe Base64 の両形式で同時に出力し、逆方向では Base64 文字列を UTF-8 テキストへ復号。パディング除去と 76 文字折り返しの 2 オプションに対応。
💡 このツールについて
URL のクエリパラメータや JWT に Base64 を埋め込もうとして、+ や / がそのまま入ってリンクが壊れた経験はないでしょうか。標準 Base64 は + / = を含むため、URL やファイル名にそのまま載せると別の意味に解釈されてしまいます。RFC 4648 §5 が定める URL-safe Base64 は、この + を - に、/ を _ に置き換えた変種で、追加のパーセントエンコードなしで URL に載せられます。
このツールは標準形と URL-safe 形を左右に並べて同時表示するため、JWT のヘッダーやペイロードを読み解くとき、片方の表記からもう片方を引き比べる手間が省けます。デコード側では URL-safe・標準のどちらを貼っても自動的に標準形へ正規化してから復号するので、パディングが欠けた文字列でも復元を試みます。不正なバイト列は UTF-8 の厳格モードで検出し、文字化けした結果を返さずエラーとして表示します。
🧐 よくある質問
Q. 標準 Base64 と URL-safe Base64 の違いは何ですか?
A. 使う文字の 63 番目と 64 番目が異なります。標準は + と /、URL-safe は - と _ を採用。残り 62 文字 (A-Z a-z 0-9) は共通です。
Q. パディングの = は消しても復元できますか?
A. できます。Base64 の長さは 4 の倍数になるため、= が無くても元の長さを逆算して補えます。このツールのデコードは欠けたパディングを自動補完します。
Q. JWT のトークンをそのまま貼り付けても大丈夫ですか?
A. JWT は . 区切りの 3 パートなので、ヘッダー・ペイロード・署名を 1 つずつ貼ってください。各パートは URL-safe Base64 (パディング無し) で符号化されています。
Q. 日本語や絵文字も変換できますか? A. できます。入力は UTF-8 でバイト列に変換してから符号化するため、マルチバイト文字も正しく扱えます。
Q. 76 文字折り返しは何のためのオプションですか? A. メールの MIME 本文など、1 行を 76 文字までに区切る規約に合わせるための整形です。URL に載せる用途では折り返さない方が扱いやすくなります。
📚 Base64 の豆知識
Base64 という名前は、データを 64 種類の印字可能文字だけで表す方式に由来します。8 ビットのバイト 3 つ (24 ビット) を 6 ビット単位の 4 文字に分割するため、出力サイズは元データのおよそ 4/3 倍に増えます。これは「圧縮」ではなく、バイナリを安全に文字として運ぶための符号化です。
URL-safe 変種が RFC 4648 で正式に定義されたのは、Base64 を URL やファイル名に直接埋め込む需要が高まったためです。同じ仕様書には Base32 や Base16 (16 進数) も併記されており、用途に応じてアルファベットを選べる設計になっています。