跳到正文

Base64 和 URL 编码解码

在浏览器中对文本和文件进行 Base64、URL 百分号编码和 HTML 实体的编码与解码,支持 UTF-8,不会上传任何内容。

或编码文件(最大 50 MB)
Base64
输入时,结果会显示在这里。
在浏览器中运行 · 无需上传工作原理

Base64 与 URL 编码 使用方法

  1. 1

    选择编码方式

    选择 Base64、URL 编码或 HTML 实体,然后选择编码或解码。

  2. 2

    粘贴文本或选择文件

    在左侧输入框中输入或粘贴文本;在 Base64 编码模式下,也可以选择文件,将其转换为 Base64 或 data URL。

  3. 3

    调整选项

    可开启 Base64URL、填充或每行 76 个字符,也可以选择对 URL 的哪些部分进行转义。

  4. 4

    复制或保存结果

    复制输出内容,或另存为文件,也可以点击“将输出用作输入”来反向转换。

限制与 Pro

免费使用,无需注册:可编码最大 50 MB 的文件,文本长度只要浏览器能容纳即可;超过 600,000 个字符的结果只预览一部分,完整结果可通过复制和“另存为文件”获取。

Pro 可去除广告;编码器的功能在所有套餐中完全相同。 了解 Pro

关于 Base64 与 URL 编码

Base64 可以把任意字节转换成 64 个可打印字符,方便在电子邮件、JSON、HTML 属性和 HTTP 头中传输。这个编码器既能处理文本,也能处理文件:文本会先转换为 UTF-8,所以带重音的字母、中文和 emoji 都能正确往返转换,不会像浏览器自带的 btoa() 那样报错。

编码时可以选择标准字母表或 Base64URL(用 - 和 _ 代替 + 和 /,常见于 JWT 和 URL 参数),还可以选择是否添加 = 填充,以及每 76 个字符换行的 MIME 格式。最大 50 MB 的文件可以转换为纯 Base64,或生成可直接用于 img src 或 CSS 背景的 data: URL。

解码时两种字母表都能识别,会忽略空格和换行,自动补全缺失的填充,并去掉 data: URL 前缀。如果结果是可读的 UTF-8,你会直接看到文本;否则工具会根据文件签名检查开头的几个字节,识别 PNG、JPEG、GIF、WebP、PDF、ZIP、MP3、MP4、字体等格式,让你预览图片,或以正确的扩展名下载文件。输入无效时,会给出准确的位置和说明。

另外两个标签页覆盖其他常用编码:URL 百分号编码(单个查询值、完整 URL,或空格变成 + 的表单数据),并列出每个查询参数的明细;还有双向的 HTML 实体转换,支持  、é 等所有命名实体。Base64 只是一种编码,并不是加密,任何人都可以解码。

隐私

编码和解码都在当前浏览器标签页中完成,包括你选择的文件;你输入或打开的内容不会被上传。你的选项开关(URL 安全字母表、填充、URL 模式)会保存在本地存储中,但文本和文件本身不会被保存。

功能

正确支持 UTF-8

emoji、重音字母和非拉丁文字都能正常编码和解码,不会出现 btoa() 的 Unicode 错误。

也能解码文件

二进制结果会按签名识别类型,图片可预览,文件可下载。

URL 和 HTML 转义

支持查询值、完整 URL 或表单的百分号编码,以及所有 HTML 命名实体。

Base64 与 URL 编码:常见问题

Base64 和 Base64URL 有什么区别?
两者都使用字母、数字和两个额外符号。标准 Base64 使用 + 和 /,并用 = 填充,而这些字符在 URL 中有特殊含义。Base64URL 把它们换成 - 和 _,通常还省略填充,因此结果可直接用于查询字符串、文件名或 JWT。这里的解码器会自动识别两种形式。
为什么我的 Base64 解码后是乱码?
编码的数据很可能不是文本,而是图片、PDF、压缩数据或加密后的字节。当字节不是有效的 UTF-8 时,工具不会显示乱码,而是显示识别出的文件类型、开头字节的十六进制预览和下载按钮。如果它本应是文本,可能使用了 Latin-1 等较旧的编码。
如何把图片转换成 data URL?
在 Base64 标签页选择“编码”,用“选择文件”挑选图片,并开启“输出 data: URL”。结果以 data:image/png;base64, 或对应类型开头,可粘贴到 img 的 src 属性或 CSS 的 url() 中。data URL 比原文件大约大三分之一,所以更适合小图标。
URL 编码会改变哪些字符?
在查询值模式下,除字母、数字和 - _ . ! ~ * ' ( ) 之外的字符都会变成由其 UTF-8 字节组成的 %XX 序列,所以空格是 %20,é 是 %C3%A9。“完整 URL”模式会保留构成 URL 结构的标点,如 : / ? & 和 =。表单数据模式则像 HTML 表单一样把空格写成 +。
用 Base64 隐藏密码或密钥安全吗?
不安全。任何人都可以不用密钥还原 Base64,它只是改变了字节的书写方式。基本认证头、Kubernetes secret 和 JWT 载荷都是 Base64,看到的人都能读取。要保护机密需要加密,要存储密码则需要 bcrypt 或 Argon2 这类慢哈希。

此工具的其他用途