Base64 Encode / Decode
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand Base64 Encode / Decode
Base64 把任意字节重写成 64 个普通文本字符,让二进制数据能够穿过只承载文本的系统。
How it works
Base64 每次读取输入的三个字节(24 位),输出四个字符,取自固定字母表:A–Z、a–z、0–9,外加 + 和 /。四个字符承载三个字节,这正是体积增大约 33% 的来源;当输入长度不是三的倍数时,用 = 填充最后一组。文本会先按 UTF-8 编码,因此 é 在进入 Base64 之前先变成 C3 A9 两个字节。
When to use it
- 把小图片、图标或字体以 data URI 的形式直接内嵌进 CSS 或 HTML。
- 让二进制附件通过电子邮件(MIME)或 JSON 载荷传输——两者都无法承载原始字节。
- 调试请求时查看 JWT 的载荷,或 HTTP Basic Authorization 头的内容。
- 把证书或私钥保存在文本配置文件中——PEM 就是 Base64 外面加上头尾行。
Watch out for
- Base64 是编码,不是加密。任何人一秒钟就能解码,它什么也藏不住:绝不要用它处理密码、API 密钥或个人数据。
- 本工具使用带 + 和 / 的标准字母表。JWT、URL 和文件名使用 Base64URL,它改用 - 和 _,并且常常去掉填充——原始的 JWT 分段在这里会失败,需要先把这些字符换回来,并把长度补齐到 4 的倍数。
- 解码结果按 UTF-8 文本呈现,因此 PNG 或 ZIP 的 Base64 解出来是不可读的字符。这是正确答案:载荷是二进制,不是文本。
- 内联载荷时,那约 33% 的膨胀会在每次页面加载时被支付,因为内联的资源无法与包含它的文档分开缓存。
Not the right tool for: 保护机密。如果需要取回原值请用 AES 加密;如果永远不需要取回,请用哈希。
Frequently Asked Questions
Base64 有什么用途?
Base64 常用于把二进制数据(图片、文件)编码成文本,以便安全地通过 HTTP、电子邮件等基于文本的协议传输。
Base64 需要填充吗?
需要。标准 Base64 使用 = 作为填充字符,使输出长度为 4 的倍数。部分实现会省略填充(例如 JWT 使用不带填充的 Base64URL)。
URL 安全的 Base64 变体是什么?
URL 安全的 Base64 把 + 替换为 -、把 / 替换为 _,以避免与 URL 保留字符冲突。JWT 令牌使用的正是这个变体。
How to Use Base64 Encode / Decode
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.