在浏览器里处理

Base64 编码与解码工具

粘贴一段 Base64 字符串,结果就在同一个页面里出现:字节是合法 UTF-8 时显示为文字,不是时给出识别到的容器名称和一个下载入口。字符串存在文件里时,也可以直接打开 .txt 或 .b64 文件,不必手动粘贴。标准字母表(+ 和 /)和 URL-safe 字母表(- 和 _)都能识别,并会告诉你这次用的是哪一种。空格、制表符、换行、不换行空格以及混进来的字节顺序标记会被计数并跳过,不当作数据解码;data: URL 前缀会被剥掉并单独报出它声明的媒体类型。任何一次拒绝都会带上稳定的错误码;其中能指到具体字符的校验错误——两套字母表之外的字符、字母表混用、位置或数量不对的填充、不成立的长度、以及缺少 base64 标记的 data: URL——还会给出该字符在你粘贴的原文里的精确位置(下标、行、列);体积超限和空输入的拒绝没有可指的字符,报出的是字符数、字节数和对应上限。编码方向相反:文字或字节转成标准或 URL-safe 的 Base64,可带填充也可不带,报出的是字节长度而不是字符数。

支持格式: .txt, .b64处理位置: 你的浏览器

或把文件拖到这里

文件只在当前设备处理文件上限:1.9 MB
怎么用

Base64 编码与解码工具怎么用

01

把文件交给它

选择或拖入 .txt或.b64 文件;也可以直接把内容粘进来。

02

等它处理完

文件在你的浏览器里读取和解析,不会先传到服务器。

03

核对结果再用

看一眼识别或转换的结果,再用页面上的复制、下载等操作。

常见问题

怎么在浏览器里打开并解码一段 Base64 字符串?

把字符串粘贴进输入框,结果立刻出现在同一个页面里,不用点按钮,也不用注册账号。如果字符串保存在文件里,可以直接打开 .txt 或 .b64 文件而不必手动粘贴。解码器同时认得标准字母表(+ /)和 URL-safe 字母表(- _),会自动跳过复制时带进来的换行和空格,并在结果旁边标出解码后的字节长度。

Base64 解码出来的文字怎么完整复制或下载?

Base64 解码出的文字可以一键复制,二进制结果则以下载的方式保存,两者拿到的都是完整内容,而不是屏幕上看到的那一段。屏幕预览最多显示 200,000 个字符,是为了让超长结果不卡住页面;复制和下载不受这个数字限制,逐字节与解码结果一致。文件开头如果带有字节顺序标记,显示时会去掉并单独提示,但复制和下载保留原始字节。

我粘贴的 Base64 内容会上传到服务器吗?

不会。粘贴的内容不会离开这个标签页,解码全程在你已经打开的页面里完成,过程中不发出任何网络请求。这一点对实际用途很关键:日常要解码的往往是会话令牌、日志片段和配置里的密钥,这类内容本来就不该贴进别人的在线服务。

断网之后还能继续用这个 Base64 解码工具吗?

可以。页面加载完成后断开网络,解码和编码都照常工作,也不需要注册或登录。解码过程中不会去取任何外部资源,所以内网隔离的电脑与联网电脑表现完全一致。唯一需要联网的是第一次打开页面,因此预计会断网时,把标签页留着别关就行。

Windows 电脑和安卓手机上怎么打开 .b64 文件?

在 Windows 的 Edge、Chrome 或安卓手机的浏览器里打开本页,选择那个 .b64 文件即可,不用装软件,也不用敲 certutil 命令。手机上这一点尤其实用,因为系统的文件管理器通常不认识 .b64 这个扩展名,用文本编辑器打开也只看到一串乱糟糟的字符。解码出文字可以直接复制,二进制则保存为下载。

Base64 解码提示「字母表混用」是什么意思,怎么修?

意思是同一段字符串里同时出现了标准字母表的 + 或 /,和 URL-safe 字母表的 - 或 _,这种组合不属于任何一种合法编码。错误信息会给出两者各自第一次出现的位置,一看就知道是从哪里接错了。正确做法是从同一个来源重新取一份完整字符串,而不是手工把字符替换过去。

Base64 解码出来是乱码或者提示长度非法,怎么办?

这两种情况指向不同的原因:结果被判定为二进制而不显示成乱码,说明字节不是合法 UTF-8 或含有控制字节;提示长度非法则说明字符数除以 4 余 1,多出来的六个比特凑不成一个完整字节,字符串被截断了。前者常见于用 GBK 保存的中文文本,后者要回到来源把字符串取全,而不是随手补几个字符。

这里最大能解码多大的 Base64 字符串?

输入上限是 2,000,000 个字符,解码后的数据上限是 2,000,000 字节,两个数字都在分配内存之前先检查。所以粘贴超大内容时会立刻收到体积错误,上面写的是实际字符数、字节数和对应上限,而不是让页面卡在申请一块根本装不下的缓冲区上。屏幕预览 200,000 个字符只影响显示,复制和下载仍然是完整数据。

Base64 字符串末尾缺少等号填充还能正常解码吗?

能。字符数除以 4 余 2 或余 3 的字符串照常解码,只会附带一条「填充缺失」的提示。JWT 和 URL 参数里的 Base64 基本都不带等号,把它当错误处理反而是错的。真正会被拒绝的是错误的填充:等号太多、只补了一半、等号后面还跟着数据,或者余数为 1。

邮件里收到的 Base64 附件,解码安全吗?

在这里解码本身是安全的,因为内容自始至终只当作不会执行的字节:不执行任何解码结果,不渲染解码出的 HTML,也不会去访问结果里的网址。风险转移到了下一步——解码出来的可执行文件或带宏的文档,一旦保存并打开,危险程度和它躺在邮件里时完全一样。本工具只说明这些字节是什么,不判断它是否恶意。

标准 Base64 和 URL-safe Base64 有什么区别?

区别只在数值 62 和 63 用什么字符表示:标准用 + 和 /,URL-safe 用 - 和 _,这样字符串放进网址或文件名里不必再转义,解码得到的字节完全相同。本工具两种都收,并告诉你这次识别到的是哪一种;但一段字符串里两种混着出现会被拒绝,因为那几乎总是两份不同的复制内容被接在了一起。

Base64 能正常解码是不是就说明这段内容可信?

不是。Base64 顺利解码只能说明这些字符构成了一段格式正确的编码,既不能说明数据是真的,也不能说明没有被改过。Base64 是编码,不是加密,也不是签名,任何人都能改掉内容再重新编码,得到的字符串照样能干净地解开。是否可信取决于它的来源,而不是解码是否成功。

可以直接粘贴 data:image/png;base64 开头的一整段内容吗?

可以。data: 前缀会被识别并剥离,同时把它声明的媒体类型单独报出来,只有逗号后面的部分参与解码,因此前缀既不计入字节数也不会混进下载内容。如果这段 data: URL 里没有 ;base64 标记,它会被明确拒绝而不是硬当成 Base64 解——那种情况属于百分号编码,按 Base64 解出来只会是无意义的字节。