图片转 Base64
拖拽图片到此处,或点击选择
支持 PNG、JPG、GIF、WebP
拖拽图片到此处,或点击选择
支持 PNG、JPG、GIF、WebP
免费在线图片转 Base64 编码工具,支持 PNG/JPG/WebP/GIF/SVG/BMP/AVIF 等全格式。浏览器 Web Worker 本地处理,零上传,不卡顿。可直接生成 Data URL 用于 CSS 内联、HTML 嵌入、邮件模板和 API 传参。
相关推荐
什么是图片转 Base64?
图片转 Base64 是一种将二进制图片数据编码为 ASCII 文本字符串的技术。Base64 使用 64 个可打印字符(A-Z、a-z、0-9、+、/)来表示二进制数据,每 3 个字节转换为 4 个 Base64 字符,末尾用 = 填充。整个编码过程符合 RFC 4648 标准。
**编码原理**:Base64 将每 3 个字节(24 比特)拆分为 4 个 6 比特组,每个 6 比特组对应 Base64 字符集中的一个字符。如果字节数不是 3 的倍数,会在末尾添加 1-2 个 = 填充字符。这解释了为什么 Base64 编码后体积会增加约 33%(4/3 ≈ 1.33)。
**Web Worker 优化**:本工具使用 Web Worker 在浏览器独立线程中执行编码任务,通过 ArrayBuffer.transfer() 将数据零拷贝转移给 Worker,避免主线程阻塞。这意味着即使处理数 MB 的大图片,页面 UI 依然保持流畅响应,同时实时显示编码进度。
**隐私安全**:与需要上传图片到服务器的工具不同,本工具完全在浏览器本地执行。图片数据不经过任何第三方服务器,这在使用敏感图片(如证件、合同)时尤为重要。
**应用场景**:Base64 图片常用于 CSS Sprites(减少 HTTP 请求)、HTML 邮件模板(避免图片被邮件客户端阻止)、API 传输二进制数据、以及浏览器扩展或单文件应用(无法引用外部资源)。
适用场景
- CSS Sprites:小图标、内联图片内联到 CSS background,减少 HTTP 请求加速首屏渲染
- HTML 图片嵌入:Logo、占位图、UI 资源直接内联到 HTML img 标签,减少图片请求
- Email 邮件模板:邮件客户端默认阻止外链图片,Base64 内联确保图片即时显示无需用户授权
- API 传输:将图片二进制数据转换为 Base64 字符串,嵌入 JSON 请求体进行接口传输
- 前端性能优化:减少 HTTP 请求数量,适用于首屏关键资源内联加速页面加载
- 浏览器扩展与单文件应用:无法引用外部资源的场景下,通过 Base64 内联所有图片
使用方法
- 选择或拖拽需要编码的图片文件(支持 PNG/JPG/WebP/GIF 等)
- 工具自动在浏览器 Web Worker 中将图片转换为 Base64,实时显示编码进度
- 查看编码结果:纯 Base64 字符串、完整 Data URL、HTML img 标签任选其一复制
- 将结果粘贴到 CSS、HTML、JSON 配置文件或 API 请求中使用
功能特点
- 全格式支持:PNG、JPG、WebP、GIF、SVG、BMP、AVIF、HEIC/HEIF 等常见图片格式自动识别 MIME
- Web Worker 加速:大文件编码在独立线程执行,实时显示进度条,不阻塞主线程 UI
- 浏览器本地零上传:图片通过 ArrayBuffer 零拷贝直接转移给 Worker 处理,数据不经过任何服务器
- Data URL 自动生成:自动生成 data:image/xxx;base64, 前缀,可直接粘贴到 HTML img 或 CSS 背景属性
- 双向转换:支持图片转 Base64 和 Base64 转图片两种模式互不干扰
- 一键复制与下载:支持复制纯 Base64、完整 Data URL、HTML img 标签多种格式,或下载为 .txt 文件
常见问题
支持哪些图片格式?
支持 PNG、JPG、WebP、GIF、SVG、BMP、AVIF、HEIC/HEIF 等常见格式。工具会自动识别 MIME 类型并生成对应的 Data URL 前缀,如 data:image/png;base64,...
Web Worker 加速是什么原理?
Web Worker 是浏览器独立的后台线程。传统图片编码会阻塞主线程导致页面卡顿,本工具将编码任务放到 Worker 线程执行,配合 ArrayBuffer 转移技术和进度回调,保证大文件处理时界面依然流畅。
图片会在服务器上传输吗?
完全不会。转换过程使用 ArrayBuffer 零拷贝技术直接在浏览器 Worker 线程中完成,图片内容不经过任何服务器。这与声称'浏览器处理'但实际有上传行为的工具有本质区别。
Base64 编码后体积会变大多少?
Base64 编码后体积约为原始二进制的 133%,即增大约 33%。这是因为每 3 字节(24 比特)转换为 4 个 Base64 字符(每个 6 比特),末尾用 = 填充。建议内联的单个图片控制在 10KB 以内。
什么样的图片适合 Base64 内联?
建议用于 10KB 以内的小图标、小图片。小图片内联可以减少 HTTP 请求数量,但过大的图片内联会增加 HTML/CSS 体积反而影响加载性能。大图片建议使用独立 URL 引用。
Data URL 和纯 Base64 有什么区别?
Data URL 格式为 data:image/png;base64, 后接 Base64 编码内容,可直接放入 HTML img 的 src 属性。纯 Base64 只是编码后的字符串,需配合 MIME 类型前缀使用。
可以用这个工具做 API 接口联调吗?
可以。将图片转换为 Base64 后,可以作为 JSON 请求体的字段值发送到后端接口。本工具支持一键复制,兼容大多数 API 文档中的示例格式。
为什么选择 Base64 内联而不是普通图片引用?
Base64 内联适合小文件(<10KB)的场景,可以减少 HTTP 请求数量。但对于大图片,独立 URL 引用的加载速度更快,因为浏览器可以并行下载多个资源并利用缓存。
- 安全字符串比较
- 二进制编码解码
- 凯撒密码
- 摩尔斯电码
- 十六进制编码解码
- 视频转 Base64
- Base64 转视频
- 图片转 Base64
- Base64 转图片
- 文本转 Base64
- Base64 转文本
- 文件哈希校验
- 文件转 Base64
- Base64 转文件
- 音频转Base64
- Base64转音频
- AES 加密解密
- DES 加密解密
- Base32 编码解码
- Base58 编码解码
- Base64 编码
- Base64 解码
- Base64 比较
- Base64 拆分
- Base64 多行合并
- Base64 格式化
- Base64 格式校验
- Base64 批量编码
- Base64 批量解码
- Base64 清理
- Base64 填充处理
- Base64 长度统计
- Base64 转十六进制
- Base64 DataURL 转换
- Base64-Hex 互转
- Base85 编码解码
- HMAC 生成与验证
- PBKDF2 密钥派生
- MD5 哈希值
- SHA-256 哈希
- SHA1 哈希
- SHA512 哈希
- JWT 解码、验证与生成
- HTML 编码解码
- Unicode 转义
- URL 编码
- URL Safe Base64
- MIME Base64
- Java 代码混淆
- JavaScript 代码混淆
- PHP 混淆
- Python混淆