🔗 Base64URL エンコーダー
Base64URL(URL安全なBase64派生)のエンコード・デコード。+ と / の代わりに - と _ を使用し、パディングなし。
Base64URL について
Base64URL は RFC 4648 で定義された URL安全な Base64 派生方式です。+ と / を -(ハイフン)と _(アンダースコア)に置き換えることで、エンコード結果をエスケープなしで URL、ファイル名、クエリパラメータに安全に使用できます。また = パディング文字も省略します。このツールはすべてブラウザ内で完結——アップロードは一切ありません。
仕組み
- エンコード —— 入力を UTF-8 エンコードし、ブラウザネイティブの
btoaで Base64 エンコードします。結果の+を-に、/を_に置き換え、末尾の=パディングをすべて削除します。 - デコード —— 入力の
-を+に、_を/に戻し、長さが4の倍数になるようパディングを再追加してからatobで UTF-8 文字列にデコードします。 - アルファベットは
A-Z a-z 0-9 - _(64文字)、パディングなし。 - Base64URL は JWT トークン、data URI、URL安全識別子で広く使用されています。
ユースケース
- JWT(JSON Web Token)のヘッダーとペイロードセグメントのエンコード。
- URL、クエリ文字列、フラグメントにエスケープなしでバイナリデータを渡す。
- バイナリやテキストコンテンツからURL安全なファイル名を作成。
+と/が特別な意味を持つ環境でデータを交換。
よくある質問
Base64 と Base64URL の違いは? Base64 は +、/、= パディングを使用しますが、これらはURL安全ではありません。Base64URL はそれらを -、_ に置き換えパディングを削除するため、出力をそのままURLに配置できます。
Base64URL は可逆ですか? はい。すべての Base64URL 文字列は元のバイトにデコードできます。パディングはオプションで、デコード時に自動的に再追加されます。
なぜパディングを削除するのですか? パディング(=)はURL内でパーセントエンコードする必要があり、URL安全エンコーディングの目的が損なわれます。長さが文脈から分かる場合、RFC 4648 はパディングの省略を許容しています。
テキストはアップロードされますか? いいえ。すべてのエンコード・デコードはローカルブラウザで行われます。