Overall Goal
Land client side media as a rich core feature in WordPress 7.1. This feature was originally planned for 7.0 but was punted to allow more time for more features to land.
Client-side media provides a progressive enhancement to the current server-based approach to media processing and delivers more robust and consistent media processing across WordPress installs, regardless of their underlying hosting stack. If the user's browser is not capable of processing media, the editor silently falls back to existing server-side processing.
Previous tracking issue: #74333 (WordPress 7.0 iteration)
What shipped during the 7.0 development cycle
In 7.0, the client media feature graduated from a Gutenberg experiment to a core Gutenberg feature.
Significant groundwork was completed during the 7.0 cycle, including:
- Core client-side image compression infrastructure using WebAssembly (WASM) and wasm-vips
@wordpress/upload-media package with upload queue system
@wordpress/vips package with fully inlined wasm-vips build
@wordpress/web-worker package to offload processing in a worker thread
- SharedArrayBuffer / Cross-Origin Isolation support
- AVIF, WebP, and efficient JPEG output encoding
- Sub-size generation, EXIF metadata handling, auto-rotation, and large-image-size logic
- Graceful fallback to server-side processing for unsupported browsers or formats
- WebAssembly support detection and capability-based feature gating to avoid running on low powered devices
Goals for WordPress 7.1
Ship client-side media as a WordPress 7.1 core feature and deliver the following enhancements:
HEIC image support
iPhones capture photos in HEIC format by default. WordPress currently cannot process these on the server without additional libraries that most hosts don't install. Client-side media unlocks the ability to decode HEIC in the browser and transcode to a web-compatible format before upload.
Ultra HDR support
Ultra HDR (ISO 21496-1) embeds a gain map alongside an SDR base image, enabling HDR rendering on capable displays while remaining backward-compatible. Client-side processing must preserve gain map data through the resize and encode pipeline so sub-sizes retain HDR quality.
Resilient uploading
Large or numerous uploads can fail due to network issues, timeouts, or server limits. Adding comprehensive error handling, retry logic, and clear progress feedback will make the upload experience significantly more robust.
Performance
Client-side processing should be comperable in speed to server-side processing. Investigating concurrent uploads and optimizing the processing pipeline will reduce total upload time, especially for batch uploads.
Bug fixes & stability
Testing & documentation
Related open PRs
Additional Features
New capabilities with dedicated tracking issues:
7.1 or later
Capabilities that may land in 7.1 or remain on the longer-term roadmap:
- Video transcoding and compression
- Audio transcoding
- PDF poster image generation
- Image editing capabilities (crop, rotate, scale)
- BlurHash / dominant color placeholders
- Media Library integration and bulk optimization
- Per-size format optimization
- Saliency detection for thumbnail cropping
Overall Goal
Land client side media as a rich core feature in WordPress 7.1. This feature was originally planned for 7.0 but was punted to allow more time for more features to land.
Client-side media provides a progressive enhancement to the current server-based approach to media processing and delivers more robust and consistent media processing across WordPress installs, regardless of their underlying hosting stack. If the user's browser is not capable of processing media, the editor silently falls back to existing server-side processing.
Previous tracking issue: #74333 (WordPress 7.0 iteration)
What shipped during the 7.0 development cycle
In 7.0, the client media feature graduated from a Gutenberg experiment to a core Gutenberg feature.
Significant groundwork was completed during the 7.0 cycle, including:
@wordpress/upload-mediapackage with upload queue system@wordpress/vipspackage with fully inlined wasm-vips build@wordpress/web-workerpackage to offload processing in a worker threadGoals for WordPress 7.1
Ship client-side media as a WordPress 7.1 core feature and deliver the following enhancements:
HEIC image support
iPhones capture photos in HEIC format by default. WordPress currently cannot process these on the server without additional libraries that most hosts don't install. Client-side media unlocks the ability to decode HEIC in the browser and transcode to a web-compatible format before upload.
Ultra HDR support
Ultra HDR (ISO 21496-1) embeds a gain map alongside an SDR base image, enabling HDR rendering on capable displays while remaining backward-compatible. Client-side processing must preserve gain map data through the resize and encode pipeline so sub-sizes retain HDR quality.
Resilient uploading
Large or numerous uploads can fail due to network issues, timeouts, or server limits. Adding comprehensive error handling, retry logic, and clear progress feedback will make the upload experience significantly more robust.
Performance
Client-side processing should be comperable in speed to server-side processing. Investigating concurrent uploads and optimizing the processing pipeline will reduce total upload time, especially for batch uploads.
Bug fixes & stability
image_editor_output_formatdata to the full sized image upload response #75784 — Move image_editor_output_format filtering to upload responseTesting & documentation
Related open PRs
Additional Features
New capabilities with dedicated tracking issues:
7.1 or later
Capabilities that may land in 7.1 or remain on the longer-term roadmap: