上传文件
  1. base64hub
  2. 图片工具
  3. BMP 转 Base64

BMP 转 Base64

拖入 .bmp 文件,即可复制为 Base64 或 data URI。位图没有压缩,所以先转成 PNG 再编码,字符串往往能缩短几十倍。

免费 无需注册,不限次数 本地 不上传任何内容 PNG 编码前无损转换 更新于 2026年10月27日
将图片拖到这里、粘贴或选择图片
输入 –输出 –大小 –

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何将 BMP 转换为 Base64

  1. 把 .bmp 文件拖到框中,或用文件选择器选择它。
  2. 如果要保持位图格式,不要改动图片选项,编码的就是原始字节。
  3. 如果要缩小体积,在 转换为 中选择 PNG。勾选 移除元数据(EXIF) 或设置 最大宽度 也会转换图片;此时即使选择 保持原格式,结果也是 PNG,因为浏览器无法写出 BMP 文件。
  4. 选择 输出为,然后点击 复制输出。

预览会显示原始大小,转换后还会在旁边显示新的大小。

为什么 BMP 会生成巨大的 Base64 字符串

大多数 BMP 文件把每个像素都存为原始字节,没有任何压缩。文件大小只取决于尺寸,与图片内容无关:

图片BMP 文件BMP 的 Base64同一图片的 PNG
32×32,24 位3,126 字节4,168 个字符取决于内容
640×480,24 位921,654 字节1,228,872 个字符取决于内容
800×500 的设置列表截图1,200,054 字节1,600,072 个字符23,085 字节(30,780 个字符)

最后一行是用一张简单的界面风格图片实测的结果:PNG 小了大约 52 倍,而且是无损的。照片的压缩率会低一些,但 PNG 或 JPEG 依然远胜原始 BMP。除非接收系统要求 BMP,否则请先转换。

什么时候仍然需要 BMP

有些系统只能读取位图:旧版 Windows 软件、某些打印机和自助终端软件、嵌入式显示屏,以及不带解码器、直接写入原始像素的单片机项目。对于这些场景,请保持原格式,原样编码文件。如果设备要求特定的位深,例如 1 位单色或 16 位,请先在图像编辑器中处理好文件;只要不设置任何图片选项,本工具就会保留原始字节。

BMP 的 Base64 长什么样

Qk02DAAAAAAAADYAAAAoAAAA...

这是一张 32×32 的 24 位 BMP:先是 BM,然后是 3,126 字节的文件大小、保留字节和值为 54 的像素数据偏移。尺寸不同,文件大小就不同,Qk 后面的字符也随之变化,所以只有前两个字符是可靠的标志。

如果设备拒绝解码后的文件,请比较文件头:带 alpha 通道的 32 位 BMP,以及使用更新、更大信息头的 BMP,是旧版读取程序拒绝在 PC 上能正常打开的文件的典型原因。

要把 Base64 还原为 .bmp 文件,请使用 Base64 转 BMP。其他图片格式请使用 图片转 Base64,浏览器能读取的格式它都接受。

常见问题

浏览器能显示 BMP 的 data URI 吗?

能,Chrome、Edge、Firefox 和 Safari 都能在 <img> 和 CSS 中解码 BMP。这种格式可以用,只是很浪费。

把 BMP 转成 PNG 会损失画质吗?

不会。PNG 是无损格式,每个像素都保持不变。只有转成 JPEG 或有损 WebP 才会改变像素。

怎么在 Base64 中认出 BMP?

BMP 文件以字母 BM 开头,编码后是 Qk。后面的字符承载文件大小,所以第三个字符不固定;Qk02 是很常见的开头。