Title: Squishify
Author: XCast3D
Published: <strong>23 İyul 2026</strong>
Last modified: 09 Sentyabr 2026

---

Qoşmaları axtar

![](https://ps.w.org/squishify/assets/banner-772x250.png?rev=3620617)

![](https://ps.w.org/squishify/assets/icon.svg?rev=3620617)

# Squishify

 By [XCast3D](https://profiles.wordpress.org/xcastaneda/)

[Download](https://downloads.wordpress.org/plugin/squishify.1.7.0.zip)

 * [Details](https://az.wordpress.org/plugins/squishify/#description)
 * [Reviews](https://az.wordpress.org/plugins/squishify/#reviews)
 *  [Installation](https://az.wordpress.org/plugins/squishify/#installation)
 * [Development](https://az.wordpress.org/plugins/squishify/#developers)

 [Dəstək](https://wordpress.org/support/plugin/squishify/)

## Description

**Prep your images. Nothing gets uploaded.**

Every major image plugin optimizes images _after_ they’re uploaded — the full-size
originals still travel over the wire, still land on your server, and still eat disk
space.

**Squishify flips the order.** It converts and resizes images _in your browser_,
before they are sent — so the full-size original never reaches your server at all.

#### Switch it on once and forget it

Turn on **auto-optimize**, pick an output format and a maximum width, and every 
image added to your site from then on is handled on the way out: the Media Library,
the block editor, anywhere WordPress takes an upload. No editor, no extra step, 
nothing to remember.

That is the part no other plugin can copy. Every one of them optimizes uploads _after_
the file has landed on your server, because that is the only place they can reach
it. **Squishify is the only one where even the zero-effort path never uploads your
original.**

Images it can’t make smaller are uploaded exactly as they are, and GIFs and SVGs
are never converted. Auto-optimize is free — it is not a Pro feature.

#### Or open the editor and work a batch by hand

Drag a batch of images into the Squishify editor, right inside wp-admin. Resize,
crop, rename, and tune format and quality with a live before/after comparison — 
then nothing touches your site until you click Upload. **Only the finished, optimized
files reach your Media Library.**

#### Work on the whole batch at once

 * **Two views, one queue** — a **Grid / Preview** switch sits in the header all
   session. Grid shows every image you queued at a glance; Preview works through
   them one at a time with the full before/after comparison
 * **Batch settings** apply to every image in one move — format, quality and effort,
   a max width, a crop ratio, and a numbered rename sequence
 * **Jump straight to an image** — click any tile in the grid to open it on its 
   own, then switch back whenever you like
 * **Batch settings stick** — add more images later and they inherit the size, crop
   and rename sequence you already chose

#### Resize, crop and rename

 * **Resize** images individually or all at once, to the exact size you need
 * **Crop** to a fixed ratio (**1:1, 4:3, 16:9**) or to exact output dimensions —
   one image, or the same shape across the whole batch
 * **Batch crop by ratio** — every image gets the largest centred window at the 
   ratio you pick, shown right in the thumbnails
 * **Batch rename** three ways — rename one image, number a whole sequence, or type
   a name for every image in one pass
 * **Numbered sequences** with or without a prefix (`gallery-01…` or just 1, 2, 
   3), **zero-padded** so 12 images sort correctly instead of running 1, 10, 11,
   12, 2

#### Real encoders, running on your own machine

 * **libavif** (AVIF), **libwebp** (WebP), **MozJPEG**, and **Oxipng** (PNG) — the
   same encoders behind Squoosh, compiled to WebAssembly and running in your browser
 * **Per-image format, quality and effort** controls, with a live **before/after
   comparison loupe**
 * **No cloud API, no credits, no quotas, no account** — there is no server to send
   anything to
 * **Your images never leave your device** until you choose to upload the finished
   files to your own site

#### Getting images in

 * **Drag and drop** a batch, or **a whole folder** — everything inside it gets 
   queued at once, up to **50 images** per batch
 * **Paste from your clipboard** — press Ctrl/Cmd+V to drop a screenshot straight
   into the queue, no saving to disk first
 * **SVG files** rasterize at a proper working size instead of their (often tiny)
   declared dimensions
 * **Upload straight to the Media Library** when you’re ready

#### No duplicate -scaled files on your server

Images are capped at **2560px on the longest edge** before encoding — the same threshold
WordPress core itself uses (`big_image_size_threshold`). Because the file you upload
is already at or under that size, **WordPress never generates its own separate `-
scaled` copy**: what you see in the editor is what ends up in your Media Library.
One file, no server-side duplicate.

### Credits

Squishify’s WebAssembly encoders are provided via [jSquash](https://github.com/jamsinclair/jSquash)(
MIT/Apache-2.0), which wraps libavif (BSD-2-Clause), libwebp (BSD-3-Clause), MozJPEG(
BSD-style), and Oxipng (MIT) — all GPL-compatible. The `.wasm` files are unmodified
upstream builds.

## Screenshots

[⌊Start from the Media Library — the Squishify button sits right beside Add Media
File.⌉⌊Start from the Media Library — the Squishify button sits right beside Add
Media File.⌉[

**Start from the Media Library** — the Squishify button sits right beside Add Media
File.

[⌊The Squishify editor, open as a full-screen overlay inside wp-admin. Drop a batch
in; nothing has been uploaded yet.⌉⌊The Squishify editor, open as a full-screen 
overlay inside wp-admin. Drop a batch in; nothing has been uploaded yet.⌉[

**The Squishify editor**, open as a full-screen overlay inside wp-admin. Drop a 
batch in; nothing has been uploaded yet.

[⌊A batch queued up — five images waiting with their original sizes, before anything
is processed.⌉⌊A batch queued up — five images waiting with their original sizes,
before anything is processed.⌉[

**A batch queued up** — five images waiting with their original sizes, before anything
is processed.

[⌊Preview view — drag the before/after loupe to compare the original against the
encode. 4.78 MB down to 111.4 KB, a 98% saving, before a single byte reaches the
server.⌉⌊Preview view — drag the before/after loupe to compare the original against
the encode. 4.78 MB down to 111.4 KB, a 98% saving, before a single byte reaches
the server.⌉[

**Preview view** — drag the before/after loupe to compare the original against the
encode. 4.78 MB down to 111.4 KB, a 98% saving, before a single byte reaches the
server.

[⌊Grid view — the whole batch at a glance, with batch settings underneath: format,
quality and effort, a max width, a crop ratio, and a rename sequence, applied to
every image at once.⌉⌊Grid view — the whole batch at a glance, with batch settings
underneath: format, quality and effort, a max width, a crop ratio, and a rename 
sequence, applied to every image at once.⌉[

**Grid view** — the whole batch at a glance, with batch settings underneath: format,
quality and effort, a max width, a crop ratio, and a rename sequence, applied to
every image at once.

[⌊Resize to an exact width — on this image, or across the whole batch.⌉⌊Resize to
an exact width — on this image, or across the whole batch.⌉[

**Resize** to an exact width — on this image, or across the whole batch.

[⌊Finalize — what the batch saved, and the one button that sends the finished files
to your Media Library.⌉⌊Finalize — what the batch saved, and the one button that
sends the finished files to your Media Library.⌉[

**Finalize** — what the batch saved, and the one button that sends the finished 
files to your Media Library.

[⌊Optimized files in the Media Library after upload — one file each, no server-side
duplicate.⌉⌊Optimized files in the Media Library after upload — one file each, no
server-side duplicate.⌉[

**Optimized files in the Media Library** after upload — one file each, no server-
side duplicate.

[⌊Media → Squishify — the compatibility check that confirms uploads work on your
site.⌉⌊Media → Squishify — the compatibility check that confirms uploads work on
your site.⌉[

**Media  Squishify** — the compatibility check that confirms uploads work on your
site.

## Installation

 1. Upload the `squishify` folder to `/wp-content/plugins/`, or install the zip via
    Plugins  Add New  Upload Plugin.
 2. Activate the plugin.
 3. Open Media  Squishify, or click the Squishify button on the Media Library screen.

## FAQ

### Does auto-optimize apply to images other people upload?

Yes — that is what makes it useful. Once an administrator switches it on it covers
every upload by every user on the site, including people who have never opened Squishify.
They see a short “Squishify is optimizing” dialog with a link to the setting, so
nobody is left wondering what happened to their file. Only administrators can change
or switch it off.

### My host can’t make thumbnails from AVIF. Does auto-optimize still work?

Yes, and it checks for you. Some hosts’ image libraries are built without AVIF support,
and on those WordPress stores and serves the full-size AVIF but generates no smaller
crops. Squishify asks your server that question and pre-selects WebP instead when
the answer is no — and if you choose AVIF anyway, the setting says plainly what 
it will cost.

### Are my images sent anywhere for processing?

No. All compression, conversion, and resizing happens locally in your browser. The
only network transfer is the final upload of finished files to your own WordPress
site.

### What formats can it produce?

AVIF, WebP, JPEG (MozJPEG), and optimized PNG (Oxipng). AVIF uploads require WordPress
6.5+.

### Uploads fail with an error mentioning a security plugin or firewall

Some security hardening (Sucuri, ModSecurity, host firewalls) can block media uploads
through the WordPress REST API before WordPress ever sees them. If uploads fail 
with that message, review your security plugin’s hardening options or ask your host
to allowlist REST media uploads (`/wp-json/wp/v2/media`). Squishify uses the same
standard upload format as WordPress’s own uploader.

### Can I paste a screenshot straight in?

Yes. Copy an image anywhere, then press **Ctrl/Cmd+V** with Squishify open and it
joins the queue like any dropped file — no saving to disk first. On Chromium-based
browsers (Chrome, Edge), Squishify can also notice an image waiting on your clipboard
when you switch back to the tab and offer to paste it for you; there’s a **Don’t
ask again** if you’d rather it didn’t. Firefox and Safari don’t allow that passive
check, so on those browsers use the keyboard shortcut.

### Does it work with multisite?

Yes. Squishify checks the standard `upload_files` capability on whichever site you’re
on, so it works whether the plugin is network-activated or activated per-site — 
no separate configuration either way.

### What happens to my original files?

Nothing — Squishify never touches them. Everything happens in your browser on a 
copy of the image; your source file is only read, never modified. Only the optimized
output you choose to upload leaves the editor, and only after you click Upload.

### Why is the first AVIF encode slower than the rest?

The AVIF encoder is a WebAssembly module that has to be downloaded and compiled 
by your browser the first time it’s used in a session. After that one-time warmup,
your browser caches the compiled module and subsequent encodes are much faster.

### What browsers are supported?

Any current version of Chrome, Firefox, Safari, or Edge. All processing uses standard
Web APIs (WebAssembly, Web Workers) with no browser-specific requirements.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Squishify” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ XCast3D ](https://profiles.wordpress.org/xcastaneda/)

[Translate “Squishify” into your language.](https://translate.wordpress.org/projects/wp-plugins/squishify)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/squishify/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/squishify/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/squishify/) by [RSS](https://plugins.trac.wordpress.org/log/squishify/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.7.0

 * New: auto-optimize on upload. Turn it on under Media  Squishify and every image
   added through WordPress — the Media Library, the block editor, anywhere — is 
   converted and resized in the browser before it is sent, so the full-size original
   never reaches your server. Pick the output format and a maximum width; a small
   progress dialog shows what’s happening, with a link to change or turn it off.
 * Auto-optimize leaves anything it can’t improve exactly as it is: an image Squishify
   can’t make smaller is uploaded untouched, as is anything that isn’t a JPEG, PNG,
   WebP or AVIF. GIFs and SVGs are never converted.
 * Keyboard shortcuts for the editor: P, C, S, R, U and T open Presets, Crop, Resize,
   Rename, Upscale and Color, G switches between Grid and Preview, Delete removes
   the image you’re on, / move between images, / slide the before/after compare (
   hold Shift for bigger steps), Enter finishes an image and moves to the next, 
   and Ctrl/Cmd+Enter applies your settings to every image.
 * Press ? at any time — or the link on the start screen — for the full list. Hover
   any tool and its tooltip now shows the key as well, so the shortcut is findable
   without going looking for it.
 * Shortcuts stand down while you’re typing in a field, and while a crop is open—
   crop mode keeps Escape and Enter for itself.

#### 1.6.0

 * Paste an image straight from your clipboard to add it to the queue — press Ctrl/
   Cmd+V anywhere in Squishify and it lands like any other file. A screenshot no
   longer has to be saved to disk first.
 * Switch back to the tab with an image still on your clipboard and Squishify offers
   to paste it for you, with a “Don’t ask again” if you’d rather it didn’t. It stays
   quiet about an image that’s already in your queue, and about anything it has 
   already offered once.
 * The drop area now mentions pasting alongside dropping and browsing, so the shortcut
   is findable without waiting for the prompt.

#### 1.5.0

 * Bulk mode: a Grid / Preview switch in the header, so you can see everything you
   queued in one place or work through it an image at a time. Grid carries the batch
   settings underneath; click any tile to edit that image on its own, and the switch
   brings you back.
 * Batch settings apply to the whole queue at once — format, quality and effort,
   a max width, a crop ratio, and a numbered rename sequence.
 * Batch crop is a ratio: pick 1:1, 4:3 or 16:9 and every image gets the largest
   centred window at that ratio. The thumbnails show the result.
 * Pro: Color adjustments join the batch settings, so one set of values covers the
   whole queue.
 * New app header and footer: the logo, the menu and the privacy promise now stay
   put for the whole session instead of living in the queue panel.
 * The queue panel is now part of editing a single image, so the empty state and
   the grid both use the full width.
 * Crops now show in the queue thumbnails instead of only on the stage, and thumbnails
   are sharper.
 * Thumbnails of transparent PNGs, WebP and AVIF no longer flatten to black.
 * The drop area now shows a folder instead of a cloud-upload icon. Nothing about
   how Squishify works has changed — your images have always been processed on your
   own device and never uploaded anywhere — but the old icon was the one symbol 
   everyone reads as “this goes to a server”, and it was saying the opposite of 
   the truth.
 * Fixed: on some browsers, AVIF and PNG encodes could fail in the WordPress admin
   with a “multithreaded codec excluded” error. The plugin now always uses the codec
   builds it actually ships with, so it can’t happen on any browser.
 * Fixed: on the free WordPress plugin, uploading a batch to the Media Library announced
   the upload but never closed Squishify, and WordPress went on warning about unsaved
   work that had already been uploaded. The overlay now tears down and takes you
   to the Media Library as it always should have.

#### 1.4.2

 * The controls bar now offers two named paths instead of one button and a checkbox:“
   Next file” to keep reviewing image by image, and “Process all” to apply your 
   settings to the whole queue and go straight to the summary.
 * Resize opens with “Apply resize to all images” already ticked when there’s more
   than one image queued — untick it for a one-off. On a single image the option
   is hidden entirely.
 * Rename opens on Sequence when you have a batch queued, and on This image when
   you don’t. Whichever mode you pick yourself is remembered.
 * On the web app, per-image Download is hidden while you’re working on a batch —
   Process all collects everything into one zip instead.

#### 1.4.0

 * Crop is now free, on every version — web and WordPress. Drag a frame or lock 
   it to a ratio and type exact output dimensions, on one image or across the whole
   batch. It used to be part of Pro; it isn’t any more, and nothing about it was
   cut down on the way.
 * The Pro feature tour now shows Image Boost, which never had a place in it before.

#### 1.3.1

 * Opening Squishify from the Media Library now eases in with a real progress bar
   instead of cutting straight to the editor.
 * Fixed: changing a setting across the whole queue — resizing everything, or clearing
   a resize — left images you had already finished holding their previous version,
   so they could be downloaded at the old settings. Those images now show that they
   will be re-encoded, and Finalize brings them up to date.
 * More room for your images: the sidebar and drop area now step aside once you 
   have a queue going, and long filenames are trimmed with the full name on hover.
 * Tool buttons are shorter — they show the setting itself (“16:9”, “1800px”) instead
   of spelling it out, so the toolbar keeps its shape as you use more tools.
 * The Resize window now tells you the size you’re resizing from.
 * Crop gained a Reset, matching Resize — with “Apply to all” ticked it clears the
   crop across the whole queue.
 * Clearing the queue no longer flashes the previous image for a moment when you
   add new ones.
 * The loading sequence when images arrive now plays for every batch, not just the
   first one of a session.

#### 1.3.0

 * Rename now has three modes — rename this image, number a whole sequence, or type
   a name for every image in one pass.
 * Sequences can skip the prefix entirely, so you can number files 1, 2, 3.
 * Sequences are zero-padded automatically, so 12 images sort correctly instead 
   of running 1, 10, 11, 12, 2.
 * Add more images to a numbered batch and they pick up the sequence instead of 
   arriving unnamed.
 * Switching between rename modes keeps what you already typed.
 * Fixed an error that could interrupt the first image of a batch with an “Encode
   failed” message when it was added.
 * Various interface adjustments.

#### 1.2.2

 * Adding a batch now eases in: a brief loading pass, then your images arrive in
   the queue one after another — so you can see at a glance how many landed.
 * The file heading now shows where you are in the queue (“1 of 15”), next to the
   filename and dimensions.
 * “Apply to all” is now a checkbox on the main button instead of a second button
   competing with it — tick it and Next file becomes Finalize, which processes everything
   and takes you straight to the summary.
 * Slimmer format and quality bar, leaving noticeably more room for the image you’re
   actually working on.
 * Images scaled down to the maximum working size are now reported once, with a 
   count of how many were affected, instead of a separate notice per image.
 * Notices and toasts no longer sit on top of dialogs.

#### 1.2.0

 * Batch rename is now part of the free tier — give a whole set a base name and 
   automatic numbering, no licence needed.

#### 1.1.2

 * Fixed resized images looking softer or jagged compared to a desktop editor’s 
   export, especially on small or heavily cropped outputs — resizing now uses a 
   sharper algorithm, with safeguards to keep large source photos fast.

#### 1.1.0

 * Drag a whole folder of images onto the dropzone to queue everything inside it
   at once.
 * SVG images now rasterize at a proper working size instead of their (often tiny)
   declared dimensions.
 * Added an in-app “what’s new” modal so you’ll see a quick summary the next time
   a new version ships.

#### 1.0.1

 * Fix: guard against a file being added to the queue twice from a single drop/select
   action.

#### 1.0.0

 * First public release: editor overlay, batch queue, upload to Media Library.

#### 0.1.0

 * First development release: editor overlay, batch queue, upload to Media Library.

## Meta

 *  Version **1.7.0**
 *  Last updated **22 saat öncə**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/squishify/)
 * Tags
 * [AVIF](https://az.wordpress.org/plugins/tags/avif/)[image optimization](https://az.wordpress.org/plugins/tags/image-optimization/)
   [resize images](https://az.wordpress.org/plugins/tags/resize-images/)[webp](https://az.wordpress.org/plugins/tags/webp/)
 *  [Advanced View](https://az.wordpress.org/plugins/squishify/advanced/)

## Reytinqlər

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/squishify/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/squishify/reviews/)

## Contributors

 *   [ XCast3D ](https://profiles.wordpress.org/xcastaneda/)

## Dəstək

Şərhiniz varmı? Yardım lazımdırmı?

 [Dəstək forumuna bax](https://wordpress.org/support/plugin/squishify/)