addyosmani

squish: Compress and Convert Images in Your Browser

Squish is a browser-based tool for batch image compression and format conversion, using WebAssembly codecs without uploading files to a server. It is suited to people who want a simple visual workflow, but its inactive maintenance status matters for production use.

Stars
1k
Forks
114
Stars, last 8 days
-1
Last commit
1.7 years ago
Contributors
2

Our take

Inactiveno commits in over a year

Health score

21/100

How it is scored
Activity
20
Community
20
Issues
21
Pull requests
21

-1 stars in the last 8 days

  • Fewer contributors than 86% of the projects we track

Squish offers a convenient, privacy-conscious batch workflow, but its inactive status and concentrated maintenance make it a cautious choice for ongoing production dependence.

Good fit if

  • You need browser-based batch compression or format conversion and prefer not to upload images to a service.
  • You can use the tool as-is or maintain it yourself, since most contributions come from one of its two contributors.
  • You want to inspect or adapt a TypeScript project under the MIT license.

Look elsewhere if

  • You need a project with active maintenance: it has had no commits in over a year and no releases in the past year.
  • You require evidence of recent issue or pull-request handling; none were closed or merged in the recent measurement period.
  • Your workflow needs a server API or a non-browser processing interface, neither of which is described in the project information.
All health signals
Last commit2025-01-16 (1.7 years ago)
Commits, last 90 days0
Releases, last 12 months0
Contributors2 (top contributor: 88% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days0
Project age22 months

Checked on 2026-10-13 with the GitHub API.

Overview

Squish is a browser-based image compressor for optimizing or converting batches of images. It handles common formats including AVIF, JPEG, JPEG XL, PNG, and WebP, with controls for output quality and previews of the results.

Because processing runs in the browser, the tool is intended for people who want to compress images without sending them to a server. Its drag-and-drop workflow and batch downloads make it more convenient than converting files one at a time.

Key Features

  • Compresses AVIF, JPEG, JPEG XL, PNG, and WebP images.
  • Converts images between supported formats.
  • Processes batches through a browser interface, without server uploads.
  • Offers format-specific quality controls and defaults.
  • Shows previews and file-size reduction statistics.
  • Supports drag-and-drop, a queue for larger batches, and individual or batch downloads.
  • Uses WebAssembly codecs through jSquash, including MozJPEG and OxiPNG implementations.

Use Cases

  • A designer preparing a folder of web images can compare previews and adjust quality before downloading the results.
  • A site owner can convert existing JPEG or PNG assets to formats such as AVIF or WebP in a browser workflow.
  • Someone handling sensitive or private images can use the local browser-based workflow to avoid server uploads.
  • A developer can run the app locally to explore or modify a TypeScript and React image-processing interface.

What you need

Detected in the repository

  • Node.js (from package.json)

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

git clone https://github.com/addyosmani/squish.git
cd squish
npm install
npm run dev

See the README for usage and build details.

Alternatives

  • reubah: Reubah also batch-converts and optimizes images, but runs locally or in Docker rather than as a browser-based WASM tool.
ProjectLanguageLicenseStarsStatus
squishTypeScriptMIT1kInactive
reubahHTMLMIT705Quiet

Considerations

The repository is marked inactive, with no recent commits, releases, issue closures, or merged pull requests in the measured periods. Maintenance is concentrated in one person, and the repository reports no CI or tests, so teams should validate codec behavior and browser compatibility themselves before relying on it for a critical workflow. Development requires Node.js; image compression itself is described as browser-based and does not require a server upload.

Found this useful?

Share it with someone who would like squish.

Comparisons