Base64 编解码Base64 Encode / Decode
文本双向编解码,完整支持 UTF-8(中文 / emoji 不乱码),URL-safe 变种一键切换,调试 JWT、Data URI、HTTP Basic Auth 更快。数据全程不上传。
工具介绍
3 段详细说明Base64 编解码是处理二进制 ↔ 文本转换的标准工具。无论是 JWT、Data URI、HTTP Basic Auth 还是邮件附件,粘贴进来即可一键双向转换,完整支持 UTF-8,中文、emoji 都不会乱码。
所有转换都在浏览器内存中完成,内容不上传任何服务器。基于浏览器原生 TextEncoder / TextDecoder + btoa / atob,零依赖、零打包,1 MB 以内编码几乎瞬时(< 100ms)。
相比手写脚本或编辑器插件,本工具无需安装、打开网页即用。解码报错时给出「第 X 行 第 Y 列」定位与人话解释;点「交换」把结果送回输入框反向转换,编解码往返验证两不误。
基础知识 · Base64 原理
RFC 4648 · 6 bit 编码Base64 是用 64 个可打印字符表示任意二进制数据的编码方案(RFC 4648)。核心思想只有一句话:把字节流按 6 bit 一组重新切分,每组查表对应一个字符:
alphabet64 字符表+ 和 / 凑满 64 个字符。每个字符代表 6 个二进制位(2⁶ = 64),这就是名字的由来。3B → 4C3 字节 → 4 字符padding「=」填充符= 补齐:余 1 字节补 ==,余 2 字节补 =。「=」只能出现在末尾,中间出现必然是复制出了问题。url-safeURL-safe 变种+ 和 / 在 URL / 文件名中有特殊含义,需要二次转义。URL-safe 变种把它们换成 - 和 _,并去掉「=」填充。JWT、URL 参数必须用这个变种。not crypto编码 ≠ 加密utf-8UTF-8 完整支持btoa / atob 只认 Latin-1 字符,中文直接报错。本工具先经 TextEncoder / TextDecoder 把文本转成 UTF-8 字节再编码,中文、emoji、任意字符都不乱码。- _ 变种、无「=」),逐段解码即可查看内容。data:image/png;base64,xxxx —— 逗号后面才是纯 Base64,前缀声明了媒体类型。用户名:密码 整体编码后放进 Authorization: Basic xxx 头。使用说明
4 步快速入门使用场景
5 个真实案例把 JWT 拆成 header / payload / signature 三段,逐段 base64url 解码查看内容,排查签发与过期问题。
把小图标、字体文件编码为 data:image/png;base64,... 内嵌进 CSS / HTML,减少 HTTP 请求。
把「用户名:密码」编码后贴进 Authorization: Basic 头,联调认证接口不再抓瞎。
MIME 邮件正文里的 base64 块解码预览内容,反向编码则可构造 multipart 测试数据。
含特殊字符或二进制的数据转成纯文本安全传输,避开 URL 转义与协议限制的地雷。
常见问题
10 个问答Base64 编解码工具是什么?有什么用?
在文本与 Base64 之间双向转换,完整支持 UTF-8(中文 / emoji 不乱码),URL-safe 变种一键切换。常用于 JWT 解析、Data URI 生成、HTTP Basic Auth 调试、邮件附件排查等场景。
我的数据会上传到服务器吗?
不会。所有编解码在浏览器内存中完成,输入内容不上传任何服务器。可断网使用,关闭网络后再打开仍能正常使用。
Base64 是加密吗?
不是。Base64 是编码(encoding),不是加密——任何人都能瞬间解码还原原文。它的作用是让二进制数据在文本协议中安全传输。要保护数据请用 AES / RSA 等真正的加密算法。
中文 / emoji 编码会乱码吗?
不会。本工具基于 TextEncoder / TextDecoder 按 UTF-8 处理,中文、emoji、任意字符都正确转换。如果对方解码后乱码,通常是对方按 GBK / Latin-1 解码,需先统一双方编码。
标准 Base64 与 URL-safe 的区别?
标准变种用 + / =,URL-safe 把 + / 换成 - _ 并去掉 = 填充。JWT、URL 参数、文件名等场景必须用 URL-safe,否则 + 会变空格、/ 会破坏路径。解码方向本工具自动兼容两种变种。
解码报错怎么排查?
输出区会给出人话提示(第 X 行 第 Y 列 + 原因 + 💡修复建议),输入区自动选中出错字符并红框定位。常见原因:混入字母表之外的字符、复制不完整(长度除以 4 余 1)、「=」出现在中间。
为什么编码后比原文长?
Base64 把 3 个字节编成 4 个字符,体积约增 1/3,这是编码机制的固有开销,任何实现都一样。想减小体积可以先 Gzip 压缩再编码。
空格和换行会影响解码吗?
不会。MIME 邮件常按 76 字符折行,本工具解码前自动剥离所有空格、换行、Tab 等空白字符,直接粘贴即可。
可以解码图片等二进制文件吗?
本工具面向文本:如果数据本身是二进制(如图片、压缩包),解码结果不是合法 UTF-8,会明确提示而不是输出乱码。图片与 Base64 互转请使用「图片转 Base64」工具。
移动端能用吗?
支持。移动端输入/输出自动垂直堆叠,操作按钮自适应布局。手机上可粘贴微信 / 飞书里收到的 Base64 片段直接解码查看。
相关工具
开发者分类数据来源
隐私优先TextEncoder / TextDecoder + btoa / atob,按 RFC 4648 实现,UTF-8 完整支持。URL-safe 变种用 - _ 替换 + / 并去除「=」填充;解码前自动剥离空白字符,兼容 MIME 折行。