読み方 : ベースろくじゅうよんユーアールエル
Base64URL
概要

「Base64」は任意のバイナリデータを64種類の表示可能なASCII文字で表現する方式である。英大文字・英小文字・数字に加え、「+」と「/」の2種類の記号を使用する。エンコードの仕組みは3バイトのデータを4文字で表現するもので、文字数がこの単位に満たない場合は末尾に「=」を付加して調整する。
一方、URLにおいて「+」はスペースを、「/」はパスの区切りをそれぞれ表す文字として機能するため、Base64の出力をそのままURLに含めると誤動作を招く恐れがある。「=」もURLのパラメータ区切りとして用いられる文字であり、同様の問題が生じることがある。
Base64URLではこれらの問題に対応するため、「+」を「-」(ハイフン)に、「/」を「_」(アンダースコア)に置き換える。「=」によるパディングは省略されることが多く、必要な場合は「%3D」のようにパーセントエンコード表記に置きかえる。エンコードの手順自体は通常のBase64と同じであり、文字の対応表の一部だけが異なる。
Base64URLの応用例として「JWT」(JSON Web Token)がある。JWTはヘッダやペイロード、署名をピリオドで連結した文字列で構成されており、各部分のエンコードにBase64URLが採用されている。OAuthやOpenID Connectなどの認証・認可の仕組みでも、URLに含める値やトークンの表現として利用されている。なお、Base64URLはあくまで符号化方式であり、元のデータを規則に従って復元できるため、機密情報の保護やアクセス制御を目的とするものではない。
(2026.7.7更新)