还在把图片上传到云端压缩?试试 LocalSqueeze,一款完全在本地运行的图片压缩工具
作为开发者,这些场景你肯定不陌生:
- 📸 博客配图:压缩图片,让网页加载飞快。
- 🎨 UI设计:批量处理设计稿,瘦身文件大小。
- 📱 移动应用:优化App内的图片资源。
- 🌐 网站优化:减小图片体积,提升用户体验。
传统的在线压缩工具虽然方便, 比如作者经常用的tinify,但是使用起来还是会有一些问题:
- 🔒 隐私顾虑:图片得先上传到别人服务器。
- 🌐 依赖网络:没网就歇菜。
- 💰 使用限制 :免费版通常有次数或大小限制(Web Pro <math xmlns="http://www.w3.org/1998/Math/MathML"> 39 , W e b U l t r a 39, Web Ultra </math>39,WebUltra149)。
- ⏱️ 效率问题:上传下载费时间,批量操作麻烦。
而LocalSqueeze 是一款基于 Electron + React 构建的跨平台桌面图片压缩应用,正好解决了这些问题。所有的图片,从始至终都在自己电脑上处理。
核心优势
1. 绝对的隐私保护
图片不用上传到任何地方,所有处理都在本地
typescript
// 所有处理都在本地完成,零网络传输
const processImage = async (imagePath: string) => {
// 本地 Sharp 库处理,不涉及任何网络请求
return await sharp(imagePath)
.jpeg({ quality: 80 })
.toBuffer();
};
2. 优秀的压缩效果
实测对比(2.1MB原图):
-
LocalSqueeze:104KB (省了 95%)
-
TinyPNG:175KB (省了 92%)
肉眼基本看不出画质损失。
3. 强大的批量处理
- 拖一堆图片进来,或者直接选个文件夹。
- 后台默默并行处理,进度条看得见。
- 处理完的统计结果一目了然。
功能介绍
- 首页可以查看处理过的图片数据统计,还展示了最近处理的图片。

- 图片处理页面可以拖拽图片,和选择图片,当点击开始处理时,会将选择图片进行处理,还会显示处理后的统计结果和处理后的图片结果。

- 压缩设置页面可以选择压缩的质量,输出格式,设置压缩后的文件名和尺寸

- 效果对比页面可以查看原始图片与压缩后的图片的对比,并排对比也可以手动对比

- 导出管理页面,可以批量选择图片并导出

🛠️ 技术架构
graph TD
A[React UI] --> B[Electron Main Process]
B --> C[Sharp Image Processing]
B --> D[File System API]
A --> E[TypeScript Type Safety]
A --> F[Tailwind CSS Styling]
核心技术选型
- Electron 37.2.1:跨平台桌面应用框架
- React 19.1.0:现代化 UI 构建
- TypeScript:类型安全保障
- Tailwind CSS 4.0.4:原子化 CSS 框架
- Sharp 0.34.3:高性能图片处理引擎
- Electron Forge:打包发布
🚀 功能特性介绍
🎨 用户体验
-
🌓 深色/浅色主题:深色主题很好看
-
👁️ 实时预览对比:压缩前后可以进行对比,效果一目了然
-
⚙️ 灵活配置:压缩质量、格式转换等参数可调,配置操作简洁明了
-
📏 尺寸调整:支持按比例或固定尺寸缩放
-
📊 压缩统计:详细的压缩报告和节省空间统计
-
💾 批量导出:一键保存所有处理结果
📦 快速上手
开发者安装
bash
# 克隆项目
git clone https://github.com/freeany/LocalSqueeze.git
cd LocalSqueeze
# 安装依赖
npm install
# 启动开发环境
npm run start
# 构建生产版本
npm run make
普通用户下载
为啥选择 LocalSqueeze呢?
与同类产品的对比
特性 | LocalSqueeze | TinyPNG | Picdiet |
---|---|---|---|
🔒 隐私保护 | ✅ 完全本地 | ❌ 需要上传 | ✅ 本地处理 |
💰 使用成本 | ✅ 完全免费 | ❌ 有限制 | ✅ 免费 |
🚀 压缩效果 | ✅ 优秀 | ✅ 良好 | ⚠️ 一般 |
🔧 自定义选项 | ✅ 丰富 | ❌ 有限 | ⚠️ 基础 |
🌐 跨平台支持 | ✅ Win/Mac/Linux | ✅ Web | ❌ 仅 Mac |
📦 批量处理 | ✅ 支持 | ⚠️ 有限制 | ✅ 支持 |
🌟 欢迎一起来玩:开源与贡献
LocalSqueeze 采用 MIT 开源协议,欢迎社区里的大家贡献和提issue:
bash
# 项目结构清晰,方便理解和扩展
src/
├── main.ts # Electron 主进程
├── preload.ts # 安全桥接层
├── app.tsx # React 应用入口
├── components/ # UI 组件库
├── views/ # 页面视图
└── server/ # 后端服务
├── compression/ # 压缩核心
├── ipc/ # 进程通信
└── workers/ # 工作线程
🤝 怎么参与?
- 🐛 发现Bug? 开个Issue说清楚。
- 💡 有好点子? 来聊聊新功能。
- 🔧 会写代码? 直接提PR改进。
- 📖 文档不足? 帮忙写清楚点。
💭 写在最后
LocalSqueeze 不仅仅是一个图片压缩工具,更是对"本地优先"理念的践行。在这个数据满天飞的时代,能有一个 完全在本地运行、免费、压缩效果又好 的图片工具,真的很省心。LocalSqueeze 就是冲着这个目标去的,希望能帮你既压缩图片又保护隐私。
🌟 如果这个项目对你有帮助,欢迎给个 Star 支持一下!
📞 联系方式
- 🏠 项目主页 :GitHub - LocalSqueeze
- 📧 作者邮箱 :lhr_freeany@163.com
- 📚 详细文档 :DeepWiki 文档
让图片压缩回归本地,让隐私保护成为常态。