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
典型使用流程:
utm_source、fbclid 等追踪字段page=2 → page=3)本地运行:所有解析在浏览器完成,URL 和里面的 token、session 不会上传。适合排查生产环境的 webhook、回调、深链。
这是 `application/x-www-form-urlencoded` 标准——查询串里 `+` 代表空格,`%20` 也代表空格,两者等价。工具用浏览器原生 `URLSearchParams` 解析,自动把 `+` 还原成空格(显示 `hello world`),再次拼回时会写成 `+`。如果你的服务端只认 `%20`,手动在值里保留 `%20`(工具会按输入再编码)。
表格里会显示成多行,顺序与原 URL 一致。例:`?tag=a&tag=b&tag=c` → 三行 `tag=a` / `tag=b` / `tag=c`。拼回时仍保留重复 key(这是数组参数的通用写法)。如果你想合并成单值,手动删掉多余行即可。不要改成 `tag=a,b,c`——那是逗号分隔值,语义不同,服务端可能不支持。
不会。hash 是纯前端路由片段——浏览器发请求时只上传 URL 中 `?` 前的部分和 query,`#` 后的全留在本地。常见用途:单页应用路由(`#/users/1`)、锚点跳转(`#section-2`)。所以服务端日志里永远看不到 hash;分析前端行为要从 JS 埋点拿。
正常现象。工具会规范化:空格统一写成 `+`、大小写 hex(`%E4` vs `%e4`)统一、无值参数 `?a=` 保留 `=`、重复 key 保留顺序。规范化后的 URL 语义等价但字符可能不同,服务端解析结果一致。如果需要严格字节级一致(签名场景),以原始字符串为准,不要 roundtrip。
可以安全删除。它们是广告跟踪参数,只被 Google Analytics / Facebook / Google Ads 读取,不影响页面实际内容。`utm_*` 是 Google 通用格式、`fbclid` 是 Facebook 点击 ID、`gclid` 是 Google Ads 点击 ID。分享链接前删掉这些,既干净又保护隐私(避免把自己的点击轨迹发给对方)。
可以。工具会先直接试 `new URL()`,失败时自动补 `https://` 再试一次。所以 `example.com/path?x=1` 也能正常拆开。但协议信息会丢失——原来是 http 还是 ftp 无法推断,工具会显示 `https`。如果协议很重要,输入时带上原协议。