Disable WebP image format in Sanity Studio for easier manual uploads

3 replies
Last updated: Jun 6, 2023
I maintain a studio where we keep event-related information. It is used for a web site and for building PDF flyers, all this works pretty smoothly. However, there are other systems that do not have APIs (like Facebook event calendar) and we have volunteers copying and pasting data. The problem is that the studio now serves graphics as webp-files by default, and other systems do not handle such uploads. Is it possible to disable webp in the studio to get back to the usable "right-click, save, upload over there" flow we used to have? We need less technical volunteers to be able to do this..
AI Update

Good news! The WebP conversion you're seeing is actually happening through Sanity's image pipeline, not because Sanity is storing images as WebP. Your original images (JPG, PNG, etc.) are still stored in their original format in the Content Lake.

The issue is that when images are displayed in your website or Studio, they're being served through Sanity's CDN with the auto=format parameter, which automatically converts images to WebP (or other modern formats) for better performance. This is why volunteers see WebP when they right-click and save.

Solutions for Your Volunteers

Option 1: Access Original Images Directly from Studio (Easiest)

The simplest solution is to train volunteers to download the original file directly from Sanity Studio:

  1. Click on the image field in Studio
  2. In the image dialog/modal that opens, look for the asset details or download option
  3. The original file (in its original JPG/PNG format) can be downloaded from there

The original images are always available at their base URL without any transformation parameters.

Option 2: Create a Custom Download Button

You could add a custom component to your Studio that provides a clear "Download Original" button next to each image field. This would make it obvious to volunteers how to get the non-WebP version. The button would simply link to the base image URL without any query parameters.

Option 3: Build a Simple Helper Page

Create a simple standalone page (outside of Studio) where volunteers can paste an image URL or select an event, and it displays all images with direct download links to the original files. This removes any confusion about WebP conversion entirely.

Understanding Sanity's Image URLs

Every Sanity image URL follows this pattern:

https://cdn.sanity.io/images/[project-id]/[dataset]/[asset-id]-[width]x[height].[original-format]

The .jpg, .png, or other extension at the end is always the original format. When volunteers copy these base URLs (without ?auto=format or other parameters), they get the original format.

The WebP conversion only happens when transformation parameters like ?auto=format are added to the URL, which your website is likely doing for performance optimization.

For non-technical volunteers, I'd recommend Option 1 (direct download from Studio) combined with creating a simple one-page guide with screenshots showing exactly where to click. This requires no code changes and works immediately.

If you want to make it even more user-friendly, Option 2 (custom download button) would be the next step - it's a small Studio customization that makes the workflow crystal clear for volunteers.

Show original thread
3 replies
I just tested the
Save Image As...
option in Chrome against a PNG I had uploaded. It tried to save it as WebP, but when I used the Download option under the contextual menu, it saved it as a PNG. Hopefully that will work for your volunteers.
Ah, thanks!
Will document that πŸ™‚

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Was this answer helpful?