开源推荐:LocalSqueeze - 隐私优先的本地图片压缩工具

还在把图片上传到云端压缩?试试 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. 强大的批量处理

  • 拖一堆图片进来,或者直接选个文件夹。
  • 后台默默并行处理,进度条看得见。
  • 处理完的统计结果一目了然。

功能介绍

  1. 首页可以查看处理过的图片数据统计,还展示了最近处理的图片。
  1. 图片处理页面可以拖拽图片,和选择图片,当点击开始处理时,会将选择图片进行处理,还会显示处理后的统计结果和处理后的图片结果。
  1. 压缩设置页面可以选择压缩的质量,输出格式,设置压缩后的文件名和尺寸
  1. 效果对比页面可以查看原始图片与压缩后的图片的对比,并排对比也可以手动对比
  1. 导出管理页面,可以批量选择图片并导出

🛠️ 技术架构

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 支持一下!


📞 联系方式

让图片压缩回归本地,让隐私保护成为常态。

相关推荐
养鱼的程序员3 分钟前
零基础搭建个人网站:从 Astro 框架到 GitHub 自动部署完全指南
前端·后端·github
罗行7 分钟前
手写防抖和节流
前端·javascript
前端老鹰7 分钟前
CSS :is () 与 :where ():简化复杂选择器的 “语法糖”
前端·css·html
颜酱11 分钟前
理解并尝试vue3源码的reactivity
前端·javascript·vue.js
拉不动的猪19 分钟前
jS篇Async await实现同步效果的原理
前端·javascript·面试
杨充23 分钟前
03.接口vs抽象类比较
前端·后端
chxii36 分钟前
2.4 组件通信
前端·javascript·vue.js
泡岩浆的child1 小时前
朋友:你平常都用什么软件取色?我:QQ截图啊。朋友:牛X!
前端
志如1 小时前
【校招面试官说】什么样的技术人更容易被大厂校招选中?
前端·后端·面试
古夕1 小时前
TS 导出 PDF:解决表头乱码,实现表格内添加可点击链接
前端·typescript