explaingit

googlechromelabs/squoosh

Analysis updated 2026-05-18

25,170TypeScriptAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A browser-based image compressor that shrinks photos and graphics locally on your device without uploading to a server, supporting multiple formats and quality settings.

Mindmap

mindmap
  root((Squoosh))
    What it does
      Compress images locally
      Compare before and after
      Download smaller files
    Formats supported
      Multiple codecs
      Quality trade-offs
      Format conversion
    Use cases
      Optimize website images
      Prepare email attachments
      Shrink social media uploads
    Why it matters
      Privacy first
      No software install
      Fast experimentation
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Optimize images for websites to improve page load speed.

USE CASE 2

Compress photos before emailing or uploading to social media.

USE CASE 3

Test different image formats and quality settings to find the best balance for your needs.

USE CASE 4

Reduce storage space used by large image files without installing desktop software.

What is it built with?

TypeScriptWeb APIsImage codecs

How does it compare?

googlechromelabs/squooshwithfig/autocompleteneoclide/coc.nvim
Stars25,17025,16825,145
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderatemoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

In plain English

Squoosh is a web app that compresses images directly in your browser. The problem it solves is that image files are often much larger than they need to be, which slows down websites and wastes storage. Squoosh lets you take a photo or graphic, experiment with different compression formats and quality settings, see a before-and-after comparison, and download the smaller result. Crucially, all compression happens locally on your device, your image is never sent to a server, which protects your privacy. The app supports multiple image formats, which are different methods of encoding image data, each with their own trade-offs between file size and visual quality. Squoosh uses best-in-class codecs (the technical term for compression algorithms) to achieve good results. You would use Squoosh when you have images that are too large for a website, an email attachment, or a social media post and want to shrink them without installing any software. It is especially useful for developers and designers who want to quickly check how much a specific codec can reduce a particular image. The project is built with TypeScript and is open source under the Google Chrome Labs organization.

Copy-paste prompts

Prompt 1
How do I use Squoosh to compress a PNG image to WebP format and compare the file sizes?
Prompt 2
Show me how to batch compress multiple images using Squoosh's web interface.
Prompt 3
What image formats does Squoosh support and how do I choose between them for my website?
Prompt 4
How can I integrate Squoosh's compression into my web development workflow?
Prompt 5
Explain how Squoosh keeps my images private by processing them locally in the browser.

Frequently asked questions

What is squoosh?

A browser-based image compressor that shrinks photos and graphics locally on your device without uploading to a server, supporting multiple formats and quality settings.

What language is squoosh written in?

Mainly TypeScript. The stack also includes TypeScript, Web APIs, Image codecs.

What license does squoosh use?

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

How hard is squoosh to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is squoosh for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub googlechromelabs on gitmyhub

Verify against the repo before relying on details.