Web標準&RFC仕様書

Base64とBase64URLの違い — 技術規格と変換解説

標準Base64とURLセーフなBase64URLの違い:文字置換ルール、パディング省略、JWTやOAuthでの標準規格を解説。

標準Base64がWeb URLで問題を起こす理由

Standard Base64 (RFC 4648 §4) uses the 64-character alphabet A-Z, a-z, 0-9, +, /, with = used as trailing byte padding.

However, when standard Base64 strings are passed in HTTP query parameters, URI path segments, or web cookies:

  • The plus sign + is automatically interpreted by web servers as a space character (%20), corrupting the payload.
  • The forward slash / is interpreted by web routers as a path delimiter, altering URL routing logic.
  • The equals sign = is used as a key-value parameter separator in query strings.

アルファベット文字の置換ルール(RFC 4648 §5)

FeatureStandard Base64Base64URL (URL-Safe)
Index 62+ (plus)- (hyphen)
Index 63/ (slash)_ (underscore)
Padding Character (=)Mandatory (Length % 4 == 0)Omitted or Unpadded

オンラインツールを試す

Need to convert between Base64 formats? Use our suite of 100% client-side tools: