Squoosh
FreeGoogle's image compression tool — compare formats (WebP, AVIF, MozJPEG) side by side with live quality sliders. All processing is client-side. A must-have for web developers.
How to install Squoosh as a PWA
Frequently asked questions about Squoosh
Is Squoosh really client-side only?
Yes — all encoders (MozJPEG, WebP, AVIF, JXL, OxiPNG) are compiled to WebAssembly and run in the browser. You can inspect the Network tab while compressing and see zero outbound image data. This matters for confidential or unreleased images: Squoosh is safe to use on pre-launch product photos in a way that uploading to TinyPNG or Cloudinary is not.
Is Squoosh free?
Yes — Squoosh is fully free and open-source (Apache-2.0) under the GoogleChromeLabs/squoosh repo. There is no account, no quota, no paid tier. The maintained CLI version @squoosh/cli is also free and scriptable for batch and CI workflows; many static-site build pipelines use it to optimize images at build time.
How does Squoosh compare to TinyPNG?
Squoosh is faster (no upload), private (no server roundtrip), free unlimited, and exposes the full encoder parameter space (quality, chroma subsampling, effort level for AVIF, etc.). TinyPNG is more opinionated — one-click sensible defaults — and integrates into design tools and CMSes via plugins. For developers, Squoosh wins on transparency and privacy; for non-technical users wanting a one-click drop-in, TinyPNG is friendlier.
Can I use Squoosh offline?
Yes — Squoosh is a PWA and caches all WebAssembly encoders on first visit. After that, you can compress images entirely offline. This is unusual for an image-compression tool of this caliber and is one of the reasons Squoosh is recommended by privacy-conscious teams for in-browser optimization of confidential product images.
Who uses Squoosh in production?
Squoosh is used by web developers across the industry for one-off optimization before deploys, by static-site teams via @squoosh/cli in CI pipelines (Astro, Eleventy, Next.js community recipes), and by performance consultants demonstrating WebP/AVIF savings to clients. The web.dev (Google) team uses it in image-performance tutorials, and it is the standard 'compare WebP vs AVIF for this image' tool in Core Web Vitals workflows.
Where Squoosh is heading (12-24 months)
- →JPEG XL support and progressive rollout depends on browser AVIF/JXL adoption trajectories.
- →AI upscaling and denoising could be added as WebAssembly modules without breaking the client-side privacy promise.
- →Better batch UI for multi-image workflows would reduce CLI dependency.
- →Tighter integration with Chrome DevTools for in-situ image optimization is a natural Google product direction.
Related questions
ChatGPT, Perplexity and Gemini usually suggest these next.
- How do I batch-compress images with @squoosh/cli?
- Does Squoosh support JPEG XL (JXL)?
- What is the best AVIF quality setting for hero images?
- Can Squoosh process RAW files from a camera?
- Is the Squoosh CLI still maintained in 2026?
More in Development Tools
Offline API documentation browser with 100+ languages and frameworks. Combines MDN, React, Node.js, Python docs into one fast, searchable interface. Works completely offline.
The best regex debugger on the web. Real-time explanation, match highlighting, test strings, and a library of saved patterns. Supports PCRE2, JavaScript, Python, Golang regex.
Drag-drop SVG optimizer with live preview. Uses SVGO under the hood — remove metadata, clean paths, reduce file size by 30-80%. Essential for frontend developers.
Check the bundle size of any npm package before installing it. Enter a package name, get instant size stats (minified + gzipped). A critical tool for keeping JS bundles lean.
Full browser-based IDE running Node.js via WebAssembly. Open GitHub repos instantly, run npm packages without installation, share working demos with a URL. No local setup needed.
Browser-based development environment for React, Vue, Angular, and more. Instant previews, collaborative editing, deploy with one click. Ideal for prototyping and sharing demos.