URL Decode Online – 在线URL解码

免费 URL 解码器 – 在浏览器中即时解码与编码 URL。快速、私密、无需安装。

0 字符
解码
0 字符
编码
UTF-8支持多层解码错误检测仅客户端处理

3个简单步骤解码URL

  1. 粘贴您的URL

    复制您的编码URL并粘贴到上方的输入框中。

  2. 即时解码

    工具会在您输入时自动实时解码您的URL。

  3. 复制结果

    点击复制按钮将解码后的URL保存到剪贴板。

URL解码器功能

  • 多层解码

    自动检测并解码多层URL编码,直到结果稳定。

  • UTF-8支持

    完全支持UTF-8编码字符,包括国际文本和表情符号。

  • 错误检测

    识别格式错误的URL编码,并提供清晰的错误消息用于调试。

  • 隐私优先

    所有处理都在您的浏览器中进行。您的数据永远不会离开您的设备。

理解URL编码和解码

URL百分号编码 是用于在URL中编码特殊字符的基本机制。当您看到像 %20 %26这样的字符时,它们代表百分号(%)后跟与特定字符对应的十六进制值。

UTF-8解码 对于处理URL中的国际字符至关重要。我们的工具完全支持UTF-8编码内容,允许您解码包含任何语言字符的URL,包括中文、日文、阿拉伯文和表情符号。

对于Web开发至关重要。URL由几个部分组成:协议、域名、路径、查询参数和片段。当包含保留字符时,每个组件可能需要编码,例如 URL组件 ?, &, =, #.

REST API调试。在使用API时,您经常会遇到编码的查询参数或路径段。能够快速解码这些URL有助于识别API请求中的问题并理解实际传输的数据。

百分号编码出现在远不止地址栏的地方。OAuth redirect_uri 的查询字符串、推送通知里的深链接、营销邮件中的追踪链接、Web 服务器日志里记录的路径片段,全都带着编码后的数据。手动解码又慢又容易出错,所以这个页面会在您粘贴的瞬间替您完成解码。

有一个细节经常让人困惑:在 HTML 表单提交(application/x-www-form-urlencoded)中,+ 号表示空格。但在百分号编码的 URL 里,+ 就是加号本身。这就是为什么同样的输入会因来源不同而解出不同结果——也是 %2B 存在的意义:在表单风格的数据中表示字面加号。本解码器遵循 URL 标准:它解码百分号序列,并保持 + 原样。

常见的百分号编码字符

以下八个序列覆盖了您在真实 URL 中会看到的大部分情况。发布之前,我对照 WHATWG URL 标准逐条核验了这张表里的每个映射。

编码解码在哪里见到
%20space经典场景。输入的空格在 URL 中总是变成 %20。
%23#字面意义的井号。原始 # 会开启片段,所以作为数据时必须编码。
%26&字面意义的与号。原始 & 会分割查询参数。
%3D=字面意义的等号。原始 = 会把键和值分开。
%3F?字面意义的问号。原始 ? 会开启查询字符串。
%2B+字面意义的加号。查询字符串里许多服务器把裸 + 当作空格,所以真正的加号必须编码。
%25%百分号本身。必须编码,否则解码器会误读整个序列。
%2F/值内部的斜杠。服务器常在路径中保留原始斜杠,但查询数据中不行。

实操示例:解码一个真实 URL

拿这个 URL 为例——您很可能从浏览器地址栏复制过这样的地址:

https://api.example.com/search?q=hello%20world&lang=zh%26en
  1. 在问号处切开

    ? 之前是路径,之后是查询字符串,其中每一对都由 & 分隔。

  2. 逐个解码

    解码器读取 hello%20world 和 zh%26en 两个值,并把每个百分号序列还原成字符。

  3. 读出结果

    q 变成 hello world,lang 变成 zh&en。zh%26en 里的 & 是数据而不是分隔符——解码把它还原,同时不破坏整体结构。

用 JavaScript 做同样的解码:

const url = "https://api.example.com/search?q=hello%20world&lang=zh%26en";
const params = new URLSearchParams(new URL(url).search);
console.log(params.get("q"));    // "hello world"
console.log(params.get("lang")); // "zh&en"

运行后输出:

hello world
zh&en

一次只解一层。如果 URL 被编码了两次,您会在源码中看到 %2520:第一次解码变成 %20,第二次变成空格。本页的解码器会检测这些额外层并为您一次性解析。

URL Decode Online 与手动解码的对比

您可以手工解码,也可以在浏览器控制台或服务器端脚本里解码。下面比较几种常见做法:

方法UTF-8多层解码适用场景
URL Decode Online是,自动日常解码:粘贴一次,得到完整解码文本,任何畸形序列都会被标出。
手工认读代码容易混淆只适合单个字符;%E4%B8%AD = 中 需要记住 UTF-8 字节表。
decodeURIComponent()在 DevTools 控制台快速检查;遇到畸形输入会抛出 URIError。
Python unquote()服务器端脚本和日志管道;unquote_plus 还会把 + 转成空格。
curl --data-urlencode它做的是编码而非解码:适合在终端构造测试请求,并且会把空格写成 +(表单风格)。

什么时候需要 URL 解码器

百分号编码字符串出现在远不止“修复失效链接”的工作流里:

  • 调试 REST API —— 从 DevTools 复制请求 URL,在改代码之前先看清真实的参数值。
  • 阅读追踪链接 —— utm_campaign=summer%20sale 在点击之前就变得可读。
  • 检查日志文件 —— Web 服务器日志保存的是编码路径;解码后才能还原真实请求。
  • 核对签名 URL —— S3 和 CloudFront 的预签名 URL 编码了密钥和过期时间,需要核验。
  • 复查 OAuth 跳转 —— redirect_uri 参数在授权 URL 中是编码的;解码后才能确认目标地址。

URL解码常见问题

什么是URL解码?

URL解码(也称为百分号解码)是将URL中编码的字符转换回其原始形式的过程。当数据通过URL传输时,特殊字符被替换为百分号(%)后跟两个十六进制数字。例如,%20代表空格字符,%26代表和号(&)。

如何免费在线解码URL?

只需将您的编码URL粘贴到本页面顶部的输入框中。我们的在线URL解码器会在您输入时自动实时解码URL,立即显示结果。然后您可以一键复制解码后的结果。这是一个完全免费的URL解码器,无需注册、付费或安装软件。 您也可以粘贴部分编码的 URL;解码器会持续解码,直到无法再进一步解码为止,并显示它处理了多少层。

什么是百分号编码?

百分号编码(也称为URL编码)是一种使用有限的ASCII字符集在URL中编码信息的机制。特殊字符被替换为百分号(%)后跟其十六进制ASCII值。这确保URL可以在所有系统中安全传输而不会损坏数据。 例如,表情符号 😀 会变成 %F0%9F%98%80 —— 它的四个 UTF-8 字节以十六进制写出。

为什么URL需要编码?

URL只能包含有限的ASCII字符集。特殊字符如空格、和号、问号以及非ASCII字符(如UTF-8国际文本)必须编码才能在URL中安全传输。这确保URL在全球所有浏览器、服务器和系统中正常工作。 如果让这些字符保持原样,URL 的含义就会改变:& 会分割参数,# 会开启片段,而许多服务器会直接拒绝原始空格。

更多URL解码工具