Base64 Files
编码 · 解码 · 体积开销

Base64 大小计算器

Base64 编码数据通常比原始文件大约 33%。在编码前计算精确的输出大小,或从 Base64 字符串估算原始文件大小。

文件 → Base64

编码后的 Base64 有多大?

原始

100.00 KB

Base64

133.34 KB

增量

+33.3%

增加体积: +33.34 KB(Base64 编码额外开销)

原始 — 100.00 KB增量 — 33.34 KB

Base64 → 文件

原始文件有多大?

请在上方粘贴 Base64 字符串

为什么 Base64 会增加约 33% 的体积

Base64 使用 64 个可打印 ASCII 字符(A–Z、a–z、0–9、+、/)来编码二进制数据。每 3 个输入字节 对应 4 个输出字符,这个 4/3 的比率就是体积增量的来源。

如果输入长度不是 3 的倍数,会在末尾追加 1 到 2 个 = 填充字符,补全最后一组 4 字符。最多额外增加 2 个字节。

这一体积开销是 Base64 编码本身的固有特性,无法在不换用其他编码方式的情况下消除。

Base64 大小公式

encoded_bytes = ⌈n / 3⌉ × 4

说明:
  n     = 原始文件字节数
  ⌈  ⌉  = 向上取整(ceiling)

示例 — 100 KB(102,400 字节):
  ⌈102400 / 3⌉ × 4
  = 34134 × 4
  = 136,536 字节  (~133.3 KB)
  增量:+34,136 字节  (+33.6%)

根据输入长度是否为 3 的整数倍,增量始终在 33.3% 到 33.6% 之间。

Base64 大小参考表

常见文件大小对应的 Base64 估算体积,不含填充字符的误差调整。

原始大小Base64 输出大小增加体积
1 KB~1.33 KB+344 B
10 KB~13.3 KB+3.4 KB
50 KB~66.7 KB+16.8 KB
100 KB~133 KB+33.6 KB
500 KB~667 KB+167 KB
1 MB~1.33 MB+336 KB
5 MB~6.67 MB+1.67 MB
10 MB~13.3 MB+3.3 MB
25 MB~33.3 MB+8.3 MB

常见问题

Base64 为什么比原文件大约 33%?

Base64 将每 3 个字节的二进制数据编码为 4 个 ASCII 字符,比例为 4:3,输出始终比输入大约 33.3%。填充字符(=)根据输入是否为 3 的倍数,额外增加 0 到 2 个字节。

Base64 输出大小的精确公式是什么?

Base64 大小(字节)= ⌈n / 3⌉ × 4,其中 n 为原始文件字节数,⌈⌉ 表示向上取整。例如 100 KB(102,400 字节)→ ⌈102400 / 3⌉ × 4 = 34134 × 4 = 136,536 字节 ≈ 133.3 KB。

文件压缩会影响 Base64 大小吗?

会。JPEG、PNG、MP3、ZIP 等文件本身已经过压缩,二进制体积较小,Base64 只会增加固定的 33%。而纯文本文件和未压缩位图在二进制形式下体积更大,Base64 输出也会相应更大。

Data URL 一定比原文件大 33% 吗?

Base64 数据部分约大 33%。Data URL 还会在开头附加一段 MIME 前缀(如 data:image/png;base64,),但这只有几十个字节,对 1 KB 以上的文件来说可以忽略不计。

在生产环境中需要担心 Base64 体积吗?

对于小型资源(图标、小图片、10 KB 以内的字体),33% 的开销是可以接受的,尤其是因为可以省去一次 HTTP 请求。对于大文件(100 KB 以上的图片、视频、大型 PDF),体积开销和无法单独缓存等问题会使基于 URL 的文件更为高效。

Base64 → 文件计算器中,估算值为什么不精确?

估算默认没有填充字符。如果粘贴实际 Base64 字符串,工具会读取填充符(= 字符)并给出精确结果。手动输入字符数时无法计算填充,结果可能偏差 0 到 2 个字节。