comparison
echloe vs Squoosh: Batch Processing vs Single File
· Alex Chen, Image Optimization Engineer
TL;DR
Squoosh is Google's excellent single-image optimizer with deep codec controls, but it only processes one file at a time with no batch support. echloe handles hundreds of images in a single batch with 15 platform presets, making it the better choice for production workflows involving multiple files. Both run locally in the browser, both support AVIF and WebP, and neither uploads your files — the choice comes down to single-image precision (Squoosh) versus batch efficiency (echloe).
Key Takeaways
- Squoosh processes exactly one image at a time with no batch capability in the web interface; echloe processes hundreds of images in a single batch operation
- Both tools run 100% locally in the browser using WebAssembly — neither uploads files to any server, making both privacy-safe
- Both support AVIF, WebP, JPEG, and PNG output via WebAssembly codecs derived from the same open-source libraries
- Squoosh offers granular per-codec settings (effort level, chroma subsampling, tiling, color space); echloe offers simplified quality + format controls with intelligent platform presets
- echloe provides 15 platform-specific presets (Instagram, Twitter/X, Shopify, LinkedIn) that automatically configure dimensions, format, and quality; Squoosh has no preset system
- Squoosh is an open-source Google Chrome Labs project maintained since 2018; echloe is a newer tool designed specifically for batch production workflows
What is Squoosh?
Squoosh is an open-source image compression web application built by the Google Chrome Labs team and released in 2018. It serves as both a practical tool and a showcase for WebAssembly technology in the browser. Squoosh uses WASM-compiled codec libraries — MozJPEG for JPEG, libavif for AVIF, cwebp for WebP, and oxipng for PNG optimization — to perform image compression entirely client-side.
The core experience of Squoosh is a side-by-side comparison view with a draggable slider. You load one image, select a codec on each side, adjust parameters, and visually compare the results in real time. The slider lets you see exactly where quality degrades at any given compression level. This makes Squoosh an exceptional tool for understanding how different codecs and settings affect image quality.
Squoosh exposes nearly every parameter the underlying codecs offer. For AVIF, you can control quality, speed/effort (0-10), chroma subsampling (4:2:0, 4:2:2, 4:4:4), tiling, and color space. For MozJPEG, you get quality, smoothing, color space, progressive mode, and quantization tables. This level of control is unmatched by any other web-based tool — but it also means Squoosh requires more knowledge to use effectively.
The web interface processes one image at a time. There was a @squoosh/cli npm package that provided command-line batch processing, but it was deprecated in 2023 and is no longer maintained. The Google team cited maintenance burden and the difficulty of keeping WASM codec builds synchronized between the web app and CLI as reasons for deprecation. This means Squoosh users who need batch processing must look elsewhere.
Squoosh is open source under the Apache 2.0 license. The source code is available on GitHub, and the app is hosted at squoosh.app. It works offline as a Progressive Web App (PWA) and can be installed on desktop or mobile devices.
What is echloe?
echloe is a browser-based batch image processing tool built with WebAssembly codecs from the jSquash library. Where Squoosh focuses on the depth of single-image optimization, echloe focuses on the breadth of processing many images efficiently with consistent settings.
The typical echloe workflow involves dropping a folder of images (or selecting many files at once), choosing an output format and quality level — or selecting a platform preset — previewing a few images to verify quality, and downloading all processed images as a ZIP file. Processing happens in parallel using Web Workers, taking advantage of multi-core CPUs to compress multiple images simultaneously.
echloe's 15 platform presets are designed for common publishing scenarios. The Instagram Feed preset outputs square 1080x1080 images in WebP at 82% quality. The Shopify Product preset outputs 2048x2048 WebP images optimized for e-commerce detail. The Twitter/X preset targets the platform's recommended dimensions and format. Each preset encodes institutional knowledge about what works best on each platform, eliminating research and guesswork for users who publish across multiple channels.
Like Squoosh, echloe runs entirely in the browser. No image data is ever uploaded to any server. The WebAssembly codecs are loaded once when the page opens and then run locally for all subsequent processing. This makes echloe suitable for sensitive images, offline environments, and situations where upload bandwidth is limited.
echloe offers a quality preview feature that shows how the output will look at the selected compression level. While less detailed than Squoosh's side-by-side slider comparison, it serves the batch workflow well: spot-check a few representative images from your batch to verify the quality setting is appropriate, then apply it confidently to all files.
How does echloe compare to Squoosh?
| Feature | Squoosh | echloe |
|---|---|---|
| Batch processing | No (one file at a time, CLI deprecated) | Yes (hundreds of files in parallel) |
| Platform presets | None | 15 presets (Instagram, Twitter/X, Shopify, etc.) |
| AVIF support | Yes | Yes |
| WebP support | Yes | Yes |
| Privacy (local processing) | Yes — 100% local | Yes — 100% local |
| Quality preview | Side-by-side slider with drag comparison | Per-image quality preview in batch context |
| Advanced codec controls | Yes (effort, subsampling, tiling, color space) | Simplified (quality slider + format selection) |
| Offline support | Yes (installable PWA) | Yes (works offline once loaded) |
| Resize capability | Basic resize with aspect ratio lock | Automatic resize via platform presets |
| Output as ZIP | No (single file download only) | Yes (batch ZIP download) |
| Open source | Yes (Apache 2.0, Google Chrome Labs) | No (proprietary) |
| CLI available | Deprecated (@squoosh/cli removed 2023) | No (browser-only) |
Detailed Feature Comparison
Batch Processing: The Core Difference
This is the fundamental distinction between these tools. Squoosh processes one image. echloe processes many. If you have a single image to optimize — a hero banner, a key product shot, a social media graphic — Squoosh gives you unparalleled control over that one image. You can spend five minutes tweaking AVIF effort levels and chroma subsampling to squeeze out the perfect balance of quality and size.
But if you have 50 product photos to prepare for your Shopify store, or 200 images from a photo shoot to compress for web delivery, or 30 social media graphics to export for this week's content calendar — processing them one by one in Squoosh would take hours. echloe handles this in minutes: drop all files, select Shopify preset, verify quality on two or three sample images, process all, download ZIP.
The lack of batch processing in Squoosh is not a bug or oversight. Squoosh was designed as a single-image optimization laboratory. Its UI — the side-by-side slider, the dual codec selectors, the extensive parameter panels — is fundamentally a single-image experience. Adding batch support would require rethinking the entire interface.
Codec Control Depth
Squoosh wins decisively on control granularity. When encoding an AVIF file in Squoosh, you can set: quality (0-100), effort/speed (0-10, trading encoding time for compression efficiency), chroma subsampling mode, tiling, color space conversion, and lossless mode. For MozJPEG, you can control: quality, smoothing, color space, progressive mode, chroma subsampling, and quantization table optimization.
echloe intentionally simplifies this. You choose a format (AVIF, WebP, JPEG, PNG) and a quality level (via slider). echloe uses sensible defaults for other parameters — medium effort for AVIF, standard chroma subsampling, progressive mode for JPEG. This is a deliberate design choice: in a batch workflow processing hundreds of images, you rarely need per-image codec tuning. You need consistent, good results applied uniformly.
For the majority of web publishing use cases — social media, e-commerce, blogs, marketing — echloe's simplified controls produce results indistinguishable from Squoosh's expert settings. The difference matters primarily for edge cases: images with fine text, images with sharp color transitions, or situations where you need to minimize encoding time on a large file.
Platform Presets vs Manual Configuration
Squoosh has no concept of publishing targets. It gives you an image, a codec, and parameters — what you do with the output is up to you. If you need an Instagram-optimized image, you must know that Instagram prefers 1080x1080 for feed posts, supports WebP, and that quality around 80-85% balances visual quality against mobile data usage. Then you must manually resize and set those parameters in Squoosh for each image.
echloe encodes this knowledge into presets. Select "Instagram Feed" and echloe automatically sets the output to 1080x1080 WebP at 82% quality. Select "Shopify Product" and it outputs 2048x2048 WebP at 85% quality. This is not just convenience — it ensures consistency across your entire batch and eliminates the risk of accidentally using wrong dimensions or format for a platform.
When should you use Squoosh vs echloe?
Choose Squoosh when:
- You need to optimize a single important image and want maximum control over every codec parameter
- You want to compare multiple codecs side-by-side on the same image to understand their tradeoffs (e.g., AVIF at effort 4 vs effort 8, or WebP vs MozJPEG at similar file sizes)
- You are a developer or designer learning about image codecs and want an interactive tool to experiment with encoding settings
- You prefer open-source tools with inspectable source code and want to contribute to the project
- You are processing one image at a time and deeply value the detailed visual slider comparison for quality assessment
- You want a PWA you can install on your device for quick single-image optimizations
Choose echloe when:
- You have dozens or hundreds of images to process and handling them one at a time is impractical
- You publish to specific platforms (Instagram, Twitter/X, Shopify, LinkedIn, YouTube) and want automatic dimension, format, and quality configuration via presets
- You need a streamlined production workflow: drop files, pick preset, spot-check quality, download ZIP
- You are a photographer, marketer, e-commerce manager, or content creator processing images in bulk on a regular cadence
- You want batch quality preview to spot-check compression results across representative images before committing to the full batch
- You need consistent output settings applied uniformly across an entire set of images without manual per-image configuration
- You want the batch processed into a single ZIP download rather than managing individual file downloads
FAQ
Is echloe better than Squoosh?
They excel at different things and are not direct competitors in most scenarios. Squoosh is better for single-image deep optimization where you want to experiment with codec settings, see pixel-level differences via the comparison slider, and understand how each parameter affects output. echloe is better for batch workflows where you need to process many images with consistent settings efficiently. If you regularly optimize more than five images at a time, echloe will save you significant time. If you are fine-tuning one critical hero image for a homepage banner and want maximum codec control, Squoosh gives you more granular tools. Many professionals use both: Squoosh for key hero images, echloe for everything else.
Can Squoosh do batch processing?
The Squoosh web interface does not support batch processing — you can only work with one image at a time. There was a @squoosh/cli npm package maintained by the Chrome Labs team for command-line batch use, but it was deprecated in 2023 and removed from npm. The team cited maintenance burden and WASM build synchronization issues. No official replacement was provided. echloe was designed from the start as a batch-first tool and handles hundreds of images in a single operation with consistent settings applied across all files and parallel processing via Web Workers.
Does Squoosh upload my files?
No. Like echloe, Squoosh processes images entirely in your browser using WebAssembly. Your files never leave your device with either tool, and no network request containing image data is ever made. Both tools are completely safe for sensitive or confidential images. The key difference between them is not about privacy or security (both are equally local and private) but about workflow: single-image precision fine-tuning (Squoosh) versus batch production processing with platform awareness (echloe). If privacy is your primary concern, both tools are excellent choices.
Which tool produces better compression?
Both tools use the same underlying open-source codec libraries compiled to WebAssembly. The raw compression quality at identical settings is essentially identical because the same algorithms are running. Squoosh gives you more knobs to turn, which means an expert user could potentially achieve marginally better results by spending time tuning effort levels, subsampling modes, and other parameters for a specific image. For the vast majority of images and use cases, the default settings echloe applies produce results visually indistinguishable from a carefully tuned Squoosh export. The practical difference is workflow efficiency, not compression quality.