Title: Image transformation
Author: WordPress VIP Documentation
Published: September 21, 2020
Last modified: June 4, 2026

---

 1. [VIP File System](https://docs.wpvip.com/vip-file-system/)
 2. [Image file behavior](https://docs.wpvip.com/vip-file-system/image-files/)
 3. Image transformation

#  Image transformation

The [VIP File System](https://docs.wpvip.com/vip-file-system/) performs core image
processing with a built-in image transformation service similar to [Site Accelerator](https://developer.wordpress.com/docs/site-accelerator/)(
previously Photon). By default, all images loaded from a site’s `wp-content/uploads/`
utilize the VIP File System’s image transformation service and leverage the VIP 
Platform’s CDN.

Requests for images with newly modified parameters are processed and served at the
time of the request, and then cached on the VIP Platform [edge cache servers](https://docs.wpvip.com/infrastructure/edge-cache/).
Cropping, resizing, and other effects can be applied to source images without having
to process those effects on all source images in advance.

Reference and test all available transformation options on the “[Image transformation query parameters](https://docs.wpvip.com/vip-file-system/image-files/transformations/query-parameters/)”
page.

## Limitations

Transformation filter parameters can only be applied to image files in a site’s `/
uploads/` directory.

If the size of an image is not specified, VIP will default to:

 * The value of [`content-width`](https://developer.wordpress.org/themes/basics/theme-functions/#content-width)
   if defined by a site’s theme.
 * If `content-width` is not defined by the theme, the default width will be set
   to `1024`.

The default logic for image size output is defined by [the `image_resize()` function](https://github.com/Automattic/vip-go-mu-plugins/blob/88b851ba888fa3756de5fd86450f4335495846e8/a8c-files.php#L216)
in VIP MU plugins.

## Bypass image transformation

Untransformed images can be returned with the `?original` query parameter. Adding
this parameter to a request bypasses the VIP File System’s image transformation 
service and serves the original image. Because _all_ image transformations are bypassed,
other image transformation query parameters (for example, `resize` or `crop`) cannot
be used simultaneously.

## Reducing image size

Serving smaller image sizes can increase the speed at which an image will load and
reduce the bandwidth required to load it by the end user. By reducing the size of
an image, users can receive a 200 KB download in 100 ms instead of a 28 MB download
in 20 s. This is especially important for users accessing a site on a mobile device.
Instead of serving a 5000×3000 image displayed in a 500×300 area, use transformation
parameters to serve the image at a size more appropriate to the device.

Optimizing the size of a requested image is also important for native mobile apps.
If a JSON payload to a mobile app contains a URL for an image at its original size,
apply the necessary resizing parameters within the application to display the image
at a smaller, more appropriate size for the end user.

### PNG-8 and PNG-24

Both the PNG-8 and PNG-24 file formats use the same lossless compression method.
But whereas PNG-24 supports up to 16.7 million colors, PNG-8 supports only 256 colors
and therefore tends to have a smaller file size.

PNG-8 files that are uploaded to the VIP File System are automatically converted
to a PNG-24 file format to enable dynamic resizing for the file on demand. This 
conversion can result in a PNG-8 file to be served in the PNG-24 file format at 
a much larger size than expected.

To prevent issues related to the conversion of PNG file formats:

 * Only upload `*.png` files saved with a PNG-24 file format so that the File System
   can dynamically resize the images and deliver them at the expected compressed
   file size.
 * Or, convert `*.png` files to a high quality JPEG format prior to upload.

## Site Accelerator image transformation service

While not recommended, sites can leverage [Site Accelerator](https://developer.wordpress.com/docs/photon/),
Jetpack’s image transformation service with the WordPress.com CDN infrastructure.
If Site Accelerator is enabled, a site’s images with be loaded from the `i0.wp.com`
domain instead of the site’s domain.

Configure a site on the VIP Platform to transform images with Site Accelerator by
defining `WPCOM_VIP_USE_JETPACK_PHOTON` as `true`:

/vip-config/vip-config.php

    ```lang-php
    define( 'WPCOM_VIP_USE_JETPACK_PHOTON', true );
    ```

If `WPCOM_VIP_USE_JETPACK_PHOTON` is defined as `true`:

 * The [default parameters](https://developer.wordpress.com/docs/developer-tools/site-accelerator-api/)
   that are applied to images by Site Accelerator can be overridden with the `jetpack_photon_pre_args`
   filter.
 * Site Accelerator will only load transformed images from the `i0.wp.com` domain
   if the referenced source domain for the image is anything other than the VIP 
   site’s domain.

Last updated: June 04, 2026