在线 URL 编码与解码工具

把带中文、空格或特殊符号的参数值转成可以安全放进查询字符串的形式,或把已经百分号编码的字符串还原成可读文本。编码遵循 RFC 3986,只保留 A-Z、a-z、0-9 与 - _ . ~ 不编码。

与浏览器的 encodeURIComponent 相比,本工具额外把 ! ' ( ) 也转成百分号形式;空格输出 %20 而不是加号,适合与严格按 RFC 3986 实现的签名算法对接。

输入
结果

编码参考(RFC 3986)

保留字符 ! * ' ( ) ; : @ & = + $ , / ? # [ ]
未保留字符 A-Z a-z 0-9 - _ . ~
空格编码 %20(而非 +)

URL 编码与解码 的主要功能

  • 一键编码中文、空格、& = ? # 等字符全部转义为百分号形式,可直接拼进 URL。
  • 一键解码还原百分号编码文本,遇到非法序列时自动尝试把加号按空格宽松解码。
  • RFC 3986 严格模式对 ! ' ( ) 一并编码,与常见签名、鉴权算法的编码规则保持一致。
  • 编码字符统计结果下方显示本次共生成多少个编码字符,便于确认转义是否完整。
  • 参考表内置页面直接列出保留字符、未保留字符与空格编码规则,不必再翻文档。
  • 结果可复制输出框内容一键复制,保留换行与原始顺序。

如何使用URL 编码与解码?

  1. 输入文本

    把待转义的参数值或已编码的字符串粘贴到左侧输入框。

  2. 点击编码或解码

    方向选择正确即可,右侧结果框会立即显示处理后的文本。

  3. 复制并拼接

    点击复制按钮,把结果拼回你的 URL 或签名串中。

URL 编码与解码 常见问题

空格为什么编码成 %20 而不是 +?

百分号编码(RFC 3986)中空格的转义形式是 %20;加号代表空格只出现在 application/x-www-form-urlencoded 的表单编码规则里。工具输出 %20,需要表单风格时可自行把 %20 替换为加号。

encodeURIComponent 和这个工具有什么差别?

encodeURIComponent 不编码 ! ' ( ) 四个字符,本工具会把它们一并编码,因此结果更贴近严格按 RFC 3986 计算签名时的要求。

解码提示失败怎么办?

通常说明字符串中存在不完整的百分号序列(例如落单的 % 或后面不是两位十六进制)。工具会先尝试把加号按空格处理再解码,仍失败时会给出无效编码序列的提示,此时请确认来源是否被二次转义。

中文会被编码成几个字符?

中文以 UTF-8 表示,通常一个汉字对应 3 个字节,即 %E4%B8%AD 这样 9 个字符的百分号编码结果,统计信息中的编码字符数即为百分号序列的个数。

输入的链接会被记录或上传吗?

不会。编码与解码均在浏览器本地完成,不发起任何网络请求。