所有 URL 编码与解码都在浏览器本地完成。
什么是 URL 编码?
URL 编码也叫百分号编码,会把 URL 中不安全或有特殊含义的字符转换成 %HH 字节序列。空格、中文、日文、emoji,以及查询参数里的 /、&、=、# 等字符,如果不正确编码,就可能改变 URL 的含义。本工具支持两种常见场景:完整 URL 编码(类似 encodeURI)和 URI 组件编码(类似 encodeURIComponent)。同时支持 application/x-www-form-urlencoded 的空格规则:在表单和查询字符串里用 + 表示空格。
功能特性
- 支持完整 URL 或单个 URI 组件编码
- 解码百分号编码字符串,并对非法序列给出清晰错误
- 可选 + 与空格互转,适合表单和查询字符串
- 基于浏览器原生 encodeURI / encodeURIComponent,Unicode 安全
- 实时输出,一键复制或下载
- 100% 浏览器内运行,不上传、不跟踪
使用方式
- 在顶部选择编码或解码模式。
- 编码查询参数值、路径片段、redirect_uri 等内容时开启组件模式;编码完整 URL 时关闭。
- 处理 application/x-www-form-urlencoded 数据时开启 + 空格选项。
- 在左侧粘贴文本,右侧实时复制转换结果。
常见问题
应该编码完整 URL 还是编码组件?
▾
如果字符串已经是完整 URL,例如 https://example.com/path?a=1,使用完整 URL 模式。如果是即将放进 URL 的值,例如搜索词、redirect_uri、文件名或路径片段,使用组件模式。组件模式会编码 /、?、&、=、# 等保留字符,避免破坏外层 URL。
空格用 %20 和 + 有什么区别?
▾
%20 是 URL 标准的空格百分号编码;+ 常见于 application/x-www-form-urlencoded,也就是 HTML 表单和查询字符串。本工具开启 + 空格后,编码时空格会变成 +,解码前 + 会先还原为空格。
为什么会出现 malformed URI 错误?
▾
通常是输入里存在不完整的百分号序列,例如单独的 % 或被截断的 UTF-8 字节。请保留原始字符串完整性,或从源文本重新编码。
中文、日文和 emoji 能正确处理吗?
▾
可以。浏览器 URL API 会把 Unicode 按 UTF-8 转成百分号序列,因此中文、日文、emoji、重音字符都可以无损往返。
相关工具
JSON 的格式化、压缩、校验与美化,错误位置高亮。
并排比对两份 JSON,行级红绿高亮,可按键名排序忽略顺序差异。
去重、删除空行、去除空格,UTF-8 ↔ Shift-JIS 编码转换,自动检测乱码。
YAML、JSON 与 Java .properties 互转,严格校验并精确定位错误。
对文本或文件进行 Base64 / Base64URL 编码与解码,实时、纯浏览器运行。
在浏览器内为文本或文件生成 MD5、SHA-1、SHA-256、SHA-384、SHA-512 哈希。
Unix 时间戳(秒 / 毫秒)与人类可读日期互转,支持多时区。
解码 JWT (JSON Web Token),查看 Header / Payload / Signature,时间字段自动转为可读日期与过期状态。
实时测试正则表达式,匹配高亮,附常用预设。
Canonical: https://devformatlab.com/zh/url-encoder