TingYu Tools

Base64URL 编解码

URL 安全的 Base64

输入数据

支持任意文本数据,包括中文和特殊字符

转换模式

Base64URL 特性

URL 安全
使用 - 和 _ 替代 + 和 /
无填充
默认去除结尾的 = 填充符
广泛应用
JWT、OAuth、文件名等场景

Base64 vs Base64URL

字符
Base64
Base64URL
加号
+
-
斜杠
/
_
填充
=
可选

编码选项

标准 Base64URL 通常不使用填充符,使字符串更短
🔐
URL 安全编码
Base64URL 专为 URL 安全设计,广泛用于 JWT Token、OAuth、文件名等场景,避免特殊字符冲突
💡 使用说明

什么是 Base64URL?

Base64URL 是 Base64 的一个变体,专为在 URL、文件名等场景中使用而设计。它使用 URL 安全的字符集,避免了 + 和 / 这些在 URL 中有特殊含义的字符。

为什么使用 Base64URL?

  • URL 安全:可以直接用在 URL 参数中,无需额外编码
  • 文件名友好:可以安全地用作文件名
  • 更简洁:通常不使用填充符,字符串更短
  • 标准化:RFC 4648 标准,广泛支持

应用场景

  • JWT Token(JSON Web Token)
  • OAuth 授权码和访问令牌
  • URL 参数传递二进制数据
  • 文件名或目录名

与标准 Base64 的区别

  • + → -:将加号替换为连字符(减号)
  • / → _:将斜杠替换为下划线
  • = 可选:通常移除结尾的填充符 =

关于填充符

Base64 使用 = 作为填充符,确保编码后的长度是 4 的倍数。Base64URL 通常移除填充符,因为可以通过字符串长度推算出需要多少个填充符。解码时会自动补全填充。

JWT Token 示例

JWT Token 由三部分组成,每部分都使用 Base64URL 编码:

header.payload.signature

例如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U

注意事项

  • Base64URL 编码的字符串可以直接用在 URL 中
  • 解码时会自动处理填充符(有或无都可以)
  • 标准 Base64 和 Base64URL 可以互相转换
  • RFC 4648 第 5 节定义了 Base64URL 标准

转换结果

SldUIFRva2Vu
输入大小9 字节
输出大小12 字节
输入长度9
输出长度12
大小变化+3 字节
膨胀率1.33
字符分析
字母11
数字1
-0
_0
=0
URL安全
URL 安全性
可以安全地用在 URL 参数中
可以用作文件名或目录名
无需额外的 URL 编码
转换详情
原始文本JWT Token
↓ 编码
Base64URL 字符串SldUIFRva2Vu