⭐ 觉得好用?收藏备用,下次直接打开
输入 URL

URL 参数解析工具 把一条完整 URL 拆成 5 个语义段:protocol · host · pathname · query · hash,其中 query 用表格可视化呈现,改完参数即时拼回新 URL。底层用浏览器原生 new URL() + URLSearchParams,与后端语言解析行为一致。

URL 结构速查

  https://user:pass@example.com:8080/path/to/page?key=val&x=1#section
  └─┬─┘   └───┬───┘ └────┬────┘└─┬─┘└───┬────┘└─────┬─────┘└───┬───┘
  protocol  userinfo    host    port   pathname     search      hash

典型使用流程

  1. 粘贴带一堆 query 的 URL
  2. 在参数表格里删掉 utm_sourcefbclid 等追踪字段
  3. 改掉业务参数(如 page=2page=3
  4. 复制底部拼好的新 URL

本地运行:所有解析在浏览器完成,URL 和里面的 token、session 不会上传。适合排查生产环境的 webhook、回调、深链。

📍使用场景

  • 清理跟踪参数拷到的链接带一长串 utm_source / fbclid / gclid,在表格里一键删掉再分享。
  • 改广告投放参数在参数表格里把 campaign、adgroup 值改了,直接复制拼好的新 URL 去投放平台。
  • 复查接口请求把 log 里的 GET 请求拆开,看每个 query 实际传了什么、有没有漏编码。

常见问题

为什么 query 里的空格变成了 `+`?

这是 `application/x-www-form-urlencoded` 标准——查询串里 `+` 代表空格,`%20` 也代表空格,两者等价。工具用浏览器原生 `URLSearchParams` 解析,自动把 `+` 还原成空格(显示 `hello world`),再次拼回时会写成 `+`。如果你的服务端只认 `%20`,手动在值里保留 `%20`(工具会按输入再编码)。

同一个 key 出现多次会怎样?

表格里会显示成多行,顺序与原 URL 一致。例:`?tag=a&tag=b&tag=c` → 三行 `tag=a` / `tag=b` / `tag=c`。拼回时仍保留重复 key(这是数组参数的通用写法)。如果你想合并成单值,手动删掉多余行即可。不要改成 `tag=a,b,c`——那是逗号分隔值,语义不同,服务端可能不支持。

hash(`#` 后面的内容)会发给服务器吗?

不会。hash 是纯前端路由片段——浏览器发请求时只上传 URL 中 `?` 前的部分和 query,`#` 后的全留在本地。常见用途:单页应用路由(`#/users/1`)、锚点跳转(`#section-2`)。所以服务端日志里永远看不到 hash;分析前端行为要从 JS 埋点拿。

复制出的 URL 和原 URL 不完全一样?

正常现象。工具会规范化:空格统一写成 `+`、大小写 hex(`%E4` vs `%e4`)统一、无值参数 `?a=` 保留 `=`、重复 key 保留顺序。规范化后的 URL 语义等价但字符可能不同,服务端解析结果一致。如果需要严格字节级一致(签名场景),以原始字符串为准,不要 roundtrip。

utm_source、fbclid、gclid 这些能删吗?

可以安全删除。它们是广告跟踪参数,只被 Google Analytics / Facebook / Google Ads 读取,不影响页面实际内容。`utm_*` 是 Google 通用格式、`fbclid` 是 Facebook 点击 ID、`gclid` 是 Google Ads 点击 ID。分享链接前删掉这些,既干净又保护隐私(避免把自己的点击轨迹发给对方)。

URL 输入框没写 `https://` 也能解析吗?

可以。工具会先直接试 `new URL()`,失败时自动补 `https://` 再试一次。所以 `example.com/path?x=1` 也能正常拆开。但协议信息会丢失——原来是 http 还是 ftp 无法推断,工具会显示 `https`。如果协议很重要,输入时带上原协议。