一款免费开源的 Chrome 扩展,自动识别页面中的 HEIC / HEIF 图片并实时转换—— 零配置、本地处理、完全保护隐私。
🔒 完全本地转换 · 不上传数据 ⚡ 支持 HEIC / HEIF / 动画序列帧 🌐 适配所有网站 📦 开源 · MIT 协议
从自动检测到动画支持,覆盖所有 HEIC 使用场景
页面加载后自动扫描所有 .heic /
.heif 图片,
以及动态注入的图片(MutationObserver)。
自动识别 HEIC 动画序列(品牌 msf1 / hevc / hevx), 在页面中以 Canvas 动画形式播放,24fps 流畅显示。
通过读取文件头 ISO BMFF 品牌(字节 8-12)精确判断 HEIC/HEIF 格式, 即使服务器未返回正确 MIME 类型也能正确处理。
转换结果缓存到 Blob URL,相同图片只处理一次; 并发去重确保同一元素不会被重复转换。
所有转换均在浏览器本地完成(基于 libheif WebAssembly), 图片数据不会离开你的设备。
使用 heic-to/csp 变体,
完全符合 Manifest V3 的内容安全策略,在严格 CSP 网站上也能正常工作。
三步让 HEIC 在你的浏览器中无缝显示
在 Chrome 应用商店一键安装,无需任何配置
访问任何含 HEIC 图片的网页,扩展自动在后台运行
HEIC 图片自动转换为 PNG,在原位无缝展示
动画 HEIC 序列会额外经过 heic-decode.all() 帧解码,并渲染到 <canvas> 动画
下方图片为真实 HEIC 文件。安装扩展后,它们会自动转换并正常显示。
加载中…
example.heic · 1.1 MB
大文件性能测试
加载中…
small-test.heic · 873 KB
标准格式兼容
加载中…
medium-test.heic · 219 KB
⚡ 极速处理
加载中…
corrupted-test.heic · 78 B
优雅降级演示测试扩展对 JavaScript 动态注入图片的监听处理能力(MutationObserver):
两种方式,任选其一
克隆项目并安装依赖
git clone https://github.com/vingeraycn/view-heic-browser-extension.git cd view-heic-browser-extension pnpm install
构建扩展
pnpm build
chrome://extensions/ 中开启开发者模式,加载 .output/chrome-mv3 目录
view-heic-browser-extension/ ├── entrypoints/ │ ├── content.ts ← 内容脚本,DOM 扫描与 MutationObserver │ └── background.ts ← Service Worker 后台脚本 ├── utils/ │ ├── heic-converter.ts ← 核心转换引擎(单帧 + 动画序列) │ ├── constants.ts ← 配置常量(SELECTORS、CONFIG、ANIMATION_FPS…) │ └── types.ts ← TypeScript 类型定义 └── docs/ ← GitHub Pages 官网(本页面)
chrome://extensions/ 查看);
② 刷新页面;③ 打开 F12 控制台查看是否有转换相关日志(🖼️ View HEIC Extension Loaded)。
如果控制台出现 CORS 错误,点击报错图片可在新标签页中直接查看原图。
pnpm build:firefox 构建 Firefox 版本并手动安装。
Chrome Web Store 版本仅面向 Chromium 浏览器。
utils/constants.ts 的
CONFIG.MAX_FILE_SIZE 中修改后重新构建。
msf1、hevc 或
hevx。扩展检测到这类文件后,
会用 heic-decode.all() 解码所有帧,
然后用 <canvas> 在原位播放约 24fps 的动画。
若解码失败,会自动回退显示第一帧的静态图。