Compare
Smush and EWWW alternative: Spark Media Optimizer
Smush and EWWW Image Optimizer are two of the best known image plugins for WordPress, both with a free version. Spark Media Optimizer works differently: files are sent in a queue to the SparkCore API and processed there, so your own server has little work to do. That is a trade-off. EWWW can work entirely locally with tools on your own server, and Smush and EWWW both have a free version for which the Spark Media Optimizer product page shows no counterpart. If you want to hand nothing out or want to start free, they are the better choice. We have a separate comparison for ShortPixel and Imagify. This page compares features and approach as of October 2026.
In short
- Processing in a queue on SparkCore's server, not on yours
- WebP and AVIF with fallback, plus PDF and PowerPoint in the same queue
- Originals stay recoverable
- Smush and EWWW have a free version, EWWW can work entirely locally
What Spark Media Optimizer does
Spark Media Optimizer scans the media library, puts files in a queue and has the SparkCore API process them. It converts images to WebP and AVIF with JPEG or PNG as a fallback and also compresses PDFs and PowerPoint files on upload. You choose whether new uploads, the existing library or both are processed, so you can migrate in stages. Originals are kept safely and can be restored. You see the status in list, grid and attachment views, and there is a WP-CLI command. Your dashboard stays usable during large runs. The product page names no CDN of its own and does not promise green Core Web Vitals.
How Smush and EWWW work
Smush has a free version with lossless and lossy compression, lazy load, Directory Smush for folders outside the library and bulk optimisation. WebP and AVIF, the image CDN, automatic resizing and compressing full-size images are Pro. In the free version images over 5 MB are skipped; Pro goes up to 256 MB. EWWW Image Optimizer is free to use with unlimited optimisation, WebP conversion, resizing, WP-CLI and local backups. Locally it runs with server tools such as jpegtran, optipng and cwebp, which needs PHP exec() and a compatible server; without that you use the Compress API. AVIF, PDF optimisation and the CDN (Easy IO) are paid.
EWWW prices
As of October 2026 the EWWW pricing page lists three plans in dollars, per year or per month: Standard, Growth and Infinite. All three include the Easy IO CDN, unlimited images and sites, automatic WebP/AVIF and 30-day backups; Growth adds more CDN locations, custom domains and watermarking, Infinite adds hotlink protection and bot controls. Above the bandwidth, EWWW asks you to move to a higher plan; only Infinite has per-GB charges. The Smush Pro price is not on the pages we could read. SparkCore prices are on the pricing page.
| EWWW plan (USD) | Per year | Per month | Bandwidth |
|---|---|---|---|
| Standard | 80 | 8 | 50 GB |
| Growth | 160 | 16 | 200 GB |
| Infinite | 320 | 32 | 400 GB |
Features side by side
The table below compares what the products state on their own public pages. Where something is not stated, we say so.
| Feature | Spark Media Optimizer | Smush and EWWW |
|---|---|---|
| Where processing runs | SparkCore API (api.sparkcore.io), in a queue on SparkCore's server | Smush: its own API, details not stated. EWWW: locally on your own server or through the EWWW API |
| Free version | Not stated on the product page; there is a free demo without an account | Smush: yes, including lossy. EWWW: yes, unlimited by its own wording |
| WebP and AVIF | WebP and AVIF with fallback to JPEG or PNG | Smush: WebP and AVIF in Pro only. EWWW: WebP conversion free, AVIF premium |
| Yes, PDFs in the media library | Smush: not stated. EWWW: premium | |
| PowerPoint (.pptx) | Yes, on upload | Not stated |
| Existing library in bulk | Yes, in stages with a queue | Smush: yes, bulk smush. EWWW: bulk optimiser |
| Originals and rollback | Safe copy of originals, restore possible | Smush: not stated. EWWW: local backups, premium with 30-day cloud backups |
| CDN | Not stated on the product page; works with your own CDN | Smush: Pro, 119 servers. EWWW: Easy IO in the plans |
| Lazy load | Not stated on the product page | Smush: free. EWWW: free, with automatic scaling |
| Folders outside the library | Not stated | Smush: Directory Smush |
| File size limit | Not stated; the limit depends on the plan | Smush: free skips images over 5 MB, Pro up to 256 MB. EWWW: unlimited by its own wording |
| Licence model | Per number of sites (1, 5, 15 or 50), with a usage limit per plan | Smush: Pro price not stated. EWWW: plans of 80, 160 or 320 dollars per year |
Where Smush and EWWW are stronger
Both have a free version and are in much wider use; Smush reports more than a million active installs. Smush has lazy load and Directory Smush, EWWW works entirely locally if your server allows it, so no files go to an external service. Both have their own CDN offering, EWWW with a subscription for unlimited images and sites. Spark Media Optimizer sends files to the SparkCore API, and processing depends on a usage limit per plan: at 80 and 100 percent you get a notification, after that processing waits until renewal. If you do not want that, a local solution is the better choice.
How we compared
We read the Spark Media Optimizer product page and plugin code, the Smush WordPress plugin page and the EWWW plugin page and pricing page, as of October 2026. We could not reach the Smush Pro page itself, so what is missing there we call not stated. We adopt no savings percentages or quality claims from anyone. If you see something that is not right, tell us.
Test on a staging site with a few heavy images and a PDF. Then use one compression source; two image plugins side by side give double conversion.
Want heavy files processed off your own server? Take a look at Spark Media Optimizer.
Frequently asked questions
Yes. Spark Media Optimizer sends files to the SparkCore API and processes them there. Your originals stay on your own server or storage. EWWW can work locally, Smush uses its own API.
We advise against it. Two image plugins side by side give double conversion and double lazy load. Test on staging and keep one compression source.
Visitors then see the old images again. Originals are kept and can be restored. Purge the cache after a large run or after switching off.