'Please upload a JPG or PNG'
You saved an image from Google Images or a website, went to attach it to a job application, a marketplace listing or a government form, and the form refused it. The file ends in .webp. Sometimes the message is explicit; sometimes the upload button simply does nothing, or the file appears greyed out in the picker. The image itself is fine. The form is checking file extensions against a list written before WebP was common, and WebP is not on it.
Why so many forms still reject WebP
WebP arrived in 2010 and every browser has supported it since 2020, so the refusal is rarely about display. It is about what happens after the upload:
- Server-side processing. An older image library on the server may not decode WebP, so the safest thing the developer could do was exclude it from the allow-list.
- Downstream systems. Applicant tracking systems, print workflows and document management tools frequently accept only JPEG and PNG, so the web form matches the weakest link in the chain.
- Security policy. Allow-lists are deliberately conservative. Adding a format requires review, and nobody has asked.
- The form is simply old. A great many public-sector and enterprise upload forms have not been touched in a decade.
None of these are things you can influence, which is why converting is the whole answer.
JPG or PNG: pick by what is in the image
| The image is | Convert to | Why |
|---|---|---|
| A photograph | JPG | Photographic compression is what JPEG is for; the result is small and universally accepted |
| A logo, icon or diagram with a transparent background | PNG | JPEG cannot store transparency; converting to JPG fills the background with a solid colour permanently |
| A screenshot with text | PNG | Lossless, so text stays crisp; JPEG puts ringing around letters |
| A profile or ID photo for a form | JPG | Almost every form expects JPEG here, often with a size limit as well |
| A scanned document | JPG for size, PNG for legibility | Judge by whether small print stays readable |
Use WebP to JPG or WebP to PNG accordingly. For a folder of them, the Bulk Image Converter processes the batch and returns a ZIP.
Do not just rename the file
The most common piece of advice on forums is to change photo.webp to photo.jpg. It is a bad idea and it fails in a way that wastes your time later. The extension is only a label; the bytes inside still begin with the WebP signature RIFF....WEBP. What follows:
- Forms that check only the extension accept the upload, and the image then fails to render on the other side, or arrives broken in someone's inbox.
- Forms that inspect the file's magic bytes โ increasingly common โ reject it anyway, now with a confusing error.
- Server-side resizing or thumbnailing crashes, which in a job application means a silently damaged submission you never learn about.
A real conversion decodes the pixels and writes a genuine JPEG or PNG. That is a different operation from renaming, and it is the one that works.
If the form also has a size limit
Converting WebP to JPG usually makes the file larger โ WebP is roughly 25โ35% more efficient than JPEG at the same quality โ so a file that comfortably fitted a 2 MB cap as WebP can exceed it as JPG. When that happens the order of operations matters:
- Convert to JPG first, so you know the real starting size in the format the form accepts.
- Then use Compress to Target Size, which searches for the JPEG quality that lands just under a limit you type in, rather than guessing at a quality slider.
- If the form also caps pixel dimensions โ passport photos and ID uploads usually do โ resize before compressing, since fewer pixels is a much cheaper saving than lower quality.
Stopping WebP downloads at the source
Google Images serves WebP because that is what the source site published. A few habits reduce the nuisance: open the image on its original page and check for a download link, which often provides a JPEG; or use the browser's screenshot capability for reference images, which produces a PNG. Browser extensions that force JPEG downloads exist, but they typically work by re-encoding locally โ the same thing a converter does, with less control over quality and more permissions granted to an extension.