浏览器本地工具

解码 Base64 文件

粘贴 Raw Base64、Base64URL 或完整 Data URL;浏览器会校验编码、识别解码后的文件类型、安全预览可支持的格式,并生成原始字节下载。

工具数据留在本地 · 不上传内容 · 不需要账号

粘贴 Raw Base64、Base64URL 或完整 data:*/*;base64,...。允许空格和换行,其他非法字符会被指出。

输入与文件诊断

检测到的文件

本地预览

图片、PDF 和疑似 UTF-8 文本会显示在这里;其他数据只能下载。

检测和预览都不是恶意软件扫描,请把未知下载视为不可信内容。

把未知 Base64 还原成正确文件

Base64 通常不带可信文件名。本工具读取解码后的 magic bytes,为图片、PDF、ZIP、gzip、7-Zip、RAR、字体、音频、视频、文本等常见格式推断 MIME 和扩展名。

支持 Raw Base64、完整 data:*/*;base64,... 和 RFC 4648 Base64URL。工具会移除空白,在长度允许时补齐 padding,并在创建下载前拒绝非法字符和不可能的末组。

magic bytes 比声明的 MIME 更可靠

Data URL 声明的媒体类型可能与内容不符。声明值只作为提示;一旦识别出字节签名,就由实际签名决定结果和下载扩展名,并明确提示冲突。

签名匹配只是格式识别,不等于完整解析。对 PNG、JPEG、GIF、PDF、ZIP、WebP 和 WAV,工具还会检查结束标记或容器长度;疑似截断会明确警告,其他格式标记为无法完整检查。

本地预览,不执行粘贴的标记

位图使用临时 Blob URL,PDF 使用浏览器内置查看器,疑似 UTF-8 文本仅通过 textContent 显示。HTML、XML、JSON、RTF 和 SVG 不会作为活动页面内容注入。

ZIP、字体、音视频、可执行内容和未知二进制只识别并下载,不在页面执行。结果替换、清空或关闭页面时会回收临时 Object URL。

隐私与真实安全边界

解码、签名检查、预览和下载都在当前浏览器标签页完成;没有上传、账号、服务端转换或远程 URL 请求。

Base64 解码和 magic-byte 检测都不是杀毒。未知文件仍应按不可信内容处理,用日常安全工具扫描,不要因为扩展名看起来合理就运行程序或启用宏。

这个工具会说明的常见错误

  • 出现 Base64 字母表之外的字符、混用标准与 URL-safe 符号,或 padding 位置错误。
  • 去掉 padding 后长度余数为 1,无法补成完整 Base64 分组。
  • 已识别文件头,但缺少预期结束标记或容器长度,可能发生截断。
  • 字节有效但没有命中已知签名,将按 application/octet-stream 和 .bin 下载。

等价命令

可以在已有的运行环境或 Shell 中完成相同操作。应验证不可信输入,避免把二进制数据直接输出到终端。

Python

from pathlib import Path
import base64
Path('decoded.bin').write_bytes(base64.b64decode(value, validate=True))

JavaScript

import { writeFileSync } from 'node:fs';
writeFileSync('decoded.bin', Buffer.from(value, 'base64'));

Shell

base64 --decode payload.base64 > decoded.bin
file decoded.bin

标准与官方参考资料

Base64 文件解码常见问题

怎样把 Base64 解码成文件?

粘贴编码值,点击“解码文件”,核对检测类型后下载解码得到的原始字节。

能找回原始扩展名吗?

能为已识别签名推断扩展名,但 Base64 不保存原文件名,签名表也不可能覆盖所有格式。

支持 Base64URL 和缺失 padding 吗?

支持。工具会规范化 - 和 _,并在长度允许时自动补 0、1 或 2 个等号。

能判断文件是否截断吗?

工具会拒绝结构不可能的 Base64,并检查部分格式的结尾;其他结构合法的内容仍可能不完整,因此“无法检查”不代表完整。

哪些文件能预览?

位图、PDF 和疑似 UTF-8 文本可以预览;HTML、XML、SVG、脚本、压缩包、字体和可执行内容不会被运行。

文件会上传吗?

不会。解码和检查均在浏览器本地完成,下载来自临时 Blob URL。