在线 URL 编码解码工具:百分号编码、Query 参数与表单模式

在浏览器中完成 URL 编码与解码,按文本参数、完整 URL 或 Query 字符串分别处理。适合整理接口请求、回调链接、OAuth redirect_uri、UTM 参数、日志片段以及包含中文、空格或 Emoji 的 URL 组件。

  • 所有编解码均在本地浏览器完成,不会上传到服务器
  • 支持标准百分号编码,适用于查询参数、路径片段和回调地址
  • 可切换 application/x-www-form-urlencoded 表单模式,正确处理空格与 +
  • 实时双向转换,支持一键复制与示例填充

URL 编码 & 解码

在线处理 URL 百分号编码、Query 参数、完整链接和表单模式,适合接口调试、回调链接、日志排查与中文参数转换。

URL 编码解码
URL 命令
转换模式
处理对象

文本/参数值会编码整段内容,适合单个值处理。

通用选项

功能简介

把常见 URL 处理拆成几个清晰入口:参数值、完整地址和 Query 字符串分别处理,避免在调试接口或整理链接时把结构字符误编码。

  • 编码为百分号编码

    将空格、中文、Emoji、保留符号等内容转换为百分号编码,适合放入查询参数、路径片段或回调地址。

  • 解码百分号编码

    把日志、浏览器地址栏或第三方回调中的 %XX 序列还原为可读文本,便于检查真实参数值。

  • 表单模式

    按照 application/x-www-form-urlencoded 习惯处理空格与 +,适合排查表单提交、旧系统回调和查询字符串。

  • 全编码模式

    完整 URL 模式会保留 :、/、?、&、=、# 等结构字符,单个参数值模式则会把这些字符当作普通内容处理。

  • 双向互换

    将输出重新放回输入区,适合对比严格解码、容错解码、表单模式和标准百分号编码之间的差异。

  • 即时复制与清空

    转换结果可直接复制到接口工具、代码片段或文档中,也可以一键清空后处理下一段链接。

如何使用

选择处理对象后粘贴内容即可转换。不同模式不会混在一起,减少双重编码、误解码和结构字符丢失。

  1. 1

    选择"编码"或"解码"来确定转换方向。

  2. 2

    在输入框中输入或粘贴内容。

  3. 3

    输出区域会实时显示转换结果。

  4. 4

    使用"复制"按钮获取输出,或点击"互换"交换输入和输出。

  5. 5

    根据使用场景切换表单模式或全编码模式。

何时使用每种模式

同样一段字符,放在完整 URL、参数值或表单数据里,应该遵循不同的编码边界。

  • 处理单个参数值时,优先使用文本/参数值模式,让 ?、&、= 等符号按内容编码。
  • 处理已经拼好的完整地址时,使用完整 URL 模式,保留协议、路径、查询和锚点结构。
  • 只想处理 ? 后面的 a=1&b=2 时,使用 Query 参数模式,可选择同时处理键和值,或只处理值。
  • 遇到表单提交、老系统回调或后端日志中的 + 时,再开启表单模式,把 + 按空格解释。

常见使用场景

从接口联调到线上排障,URL 编码问题往往藏在参数边界、空格规则和多层跳转里。

  • 查询参数编码

    把搜索词、筛选条件、分页状态或中文标签放进查询字符串前先编码,避免 &、=、空格把参数拆乱。

  • API 请求准备

    拼接 REST API 请求、Webhook 地址或临时调试链接时,对路径片段和参数值分别编码,减少服务端解析歧义。

  • 表单提交调试

    从浏览器开发者工具、网关日志或后端日志中解码表单内容,确认用户实际提交了什么。

  • 从 URL 提取数据

    拆开重定向链路、OAuth 回调、SSO 参数和分享链接,恢复 redirect_uri、state、next 等字段的原始值。

  • 多语言参数处理

    处理中文、日文、韩文、Emoji 和混合标点,让不同浏览器、代理和后端框架能稳定读取同一段内容。

  • 埋点与追踪链接清洗

    清理 UTM 参数、广告跳转和渠道链接中的多层编码,便于归因排查、数据核对和链接归档。

实用建议

URL 编码看似简单,真正容易出错的是上下文。先确认内容要放在哪里,再决定使用哪一种规则。

  • 先判断输入是完整 URL、单个参数值,还是 Query 字符串。边界判断错了,结果往往不是少编,就是把结构字符也一起编掉。
  • 已经出现 %E4%BD%A0 这类片段时,不要急着再次编码;先解码确认原文,避免把 % 变成 %25 造成双重编码。
  • 处理接口参数时,参数值优先按 encodeURIComponent 的思路处理;完整 URL 才保留 : / ? & = # 这些结构字符。
  • 表单模式只用于 application/x-www-form-urlencoded 场景。普通 URL 参数通常用 %20 表示空格,而不是 +。
  • 解码后若仍然残留孤立的 %、半截 %E4 或不可读字符,通常说明原始日志被截断、重复转义或混入了非 URL 编码内容。
  • URL 编码只负责传输格式,不负责保密。需要表达认证信息时,应继续检查 Token 内容、签名或摘要,不要把编码当成安全措施。
  • 团队联调时建议把空格、中文、数组参数、redirect_uri 等规则写进接口说明,避免前后端各自按习惯处理。

如果要处理的是认证头、接口凭证或需要在文本与 Base64 之间转换的片段,可以继续使用 Base64 编码 & 解码 ;遇到 Token Header、Payload 和过期时间排查,则更适合打开 JWT 检查器 。当任务从单个参数扩展到完整链接拆解、域名、路径、查询项和锚点整理时,可以配合 URL 工具 一起使用。

限制与注意事项

了解限制有助于避免转换问题。

  • 百分号编码是一种格式化约定,不是安全机制。它不以任何方式加密、哈希或保护数据。
  • 双重编码发生在已编码的字符串再次被编码时。此页面不会自动检测双重编码。
  • 非常长的输入字符串可能导致浏览器渲染性能下降。此页面为典型的文本负载设计。
  • 此页面使用浏览器原生的 encodeURI、encodeURIComponent、decodeURI 和 decodeURIComponent API。
  • 表单模式只处理空格与 + 的常见差异,不模拟完整的表单序列化流程。
  • 容错解码会尽量保留异常输入并继续转换,适合排查脏数据,但不适合做严格协议校验。
  • Query 模式默认按 & 与 = 拆分,自定义协议、嵌套查询或特殊分隔符需要先确认规则。

常见问题

围绕使用方式、数据处理、结果判断和常见边界,整理使用前最容易遇到的问题。

01

什么是 URL 编码?

URL 编码也称百分号编码,会把不适合直接出现在 URL 中的字符转换为 % 加两位十六进制数字。它解决的是“字符如何放进 URL”这个格式问题。

02

encodeURIComponent 和 encodeURI 有什么区别?

encodeURIComponent 适合处理单个参数值,会编码 ?、&、= 等符号;encodeURI 适合处理已经成形的完整 URL,会保留 /、?、& 等结构字符。

03

为什么解码后有时还会看到 %XX 序列?

常见原因是输入被编码了不止一层,或原文里本来就包含字面的 %XX。遇到这种情况可以把输出再作为输入解一次,但要确认不是业务内容本身。

04

什么是 application/x-www-form-urlencoded 格式?

这是 HTML 表单常用的数据编码方式,其中空格通常写成 +。排查表单请求、老系统查询串或后端日志时,才需要特别关注这个差异。

05

这个页面会将我的数据发送到服务器吗?

不会。所有编解码均在本地浏览器中使用原生 JavaScript API 完成,不会向任何服务器传输数据。

06

URL 编码可以防止 XSS 攻击吗?

不能。URL 编码是一种格式化机制,不是安全措施。用于 XSS 防范的输出编码遵循不同的规则,应单独处理。

07

为什么有时候要把 + 当作空格?

在 application/x-www-form-urlencoded 规范中,空格常被编码为 +。解码表单或查询字符串时,通常需要启用“将 + 视为空格”。

08

严格解码和容错解码怎么选?

做接口验收、协议校验时用严格模式;做日志排查、历史脏数据恢复时可用容错模式,尽可能拿到可读结果。

更多编码解码与可扫描码工具

DevKitLab 提供 Base64 编码解码、URL 编码解码、二维码生成与解析、条形码生成与解析等在线工具,适合处理链接、文本、图片编码以及各类可扫描码。