把未知 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。