Convert JPG to WebP

Drop your JPGs below. WebP is already selected, and each photo is encoded at the lowest quality that still clears a measured target. Up to 16 MB a file as a guest or 32 MB with a free account. Free. No account, no watermark.

  • WebP already selected
  • Works in every current browser
  • Quality searched per photo

Balance between the image quality and compression

Output format

Auto tries every format your image can be saved as and gives you the smallest one

Resize

Change the width, height or scale of every image you upload

Original Dimensions Percentage
px
px

Set one side to keep the proportions, or both for an exact size.

Percentage
%

Size limit

Fit every image under a file size, for a form or a site with an upload limit

Any size Under a size
KB

Saved as JPG, WebP or AVIF. When quality alone can't get there, the image is made smaller to fit.

How the size limit works

Responsive image set

Pro

The image at several widths, with a srcset to paste into your page, so each screen loads the size it needs

One size Responsive set
px

Up to 8 widths, each in the format and at the level of the result. A width wider than the image stops at its own width, so nothing is enlarged.

How responsive sizes work

Keep EXIF Keeps details such as the camera, the date and the location in each file. Leave it off to remove them and save space.
Write alt text with AI Describes each image for screen readers and search engines, and suggests a file name
Alt text language
No language matches
English
Spanish
French
German
Italian
Portuguese
Dutch
Polish
Swedish
Turkish
Russian
Ukrainian
Arabic
Persian
Hebrew
Hindi
Indonesian
Vietnamese
Thai
Japanese
Korean
Simplified Chinese
Traditional Chinese
Rename files Downloads take the suggested name instead of the one you uploaded

Pro
Uploading a zip comes with Pro: the browser opens it and uploads its images in the folders they sat in, and the zip of the results keeps them. On your plan, unzip it and drop the images here. How folders and zips work

Up to 16 MB per image PNG, JPG, WEBP, GIF, HEIC, TIFF, or a ZIP of them on a paid plan

Guests get 10 images a day, 10 left today. A free account gets 40 a day and 7 days of Pro.

Upload a folder, or a zip

Pro

Pick a folder and every image in it uploads, with the folders inside it, and Download Selected gives them back in the same folders. A zip of images dropped on the box works the same way, opened in your browser.

How folders and zips work

Auto-start
On, each image starts compressing as soon as it uploads. Off, images wait in the box so you can check the settings, then start together.
Delete this image?
The image and its optimized copy will be removed from storage. This cannot be undone.

Rename this image
Choose the name the optimized image downloads with. Its format stays the same.

Uploaded as

Rename the selected images
Each image gets this name and a number, counted in the order they were uploaded. Their formats stay the same.

Share this image
AI alt text
Alt text

Paste it into the alt attribute of the image on your page.

Choose the compression level that suits your images
Level What it promises What happens Pick it when
Lossless
Not one pixel changes in a JPEG, PNG or GIF The file is repacked, never re-encoded. JPEGs get an optimised Huffman table and progressive scan, PNGs a tighter deflate pass, GIFs a lossless gifsicle run. A lossy WebP has no repack step, so it is re-encoded at the highest quality the level allows. A sideways phone JPEG is rotated losslessly on the way through and keeps its colour profile. The one exception to the promise is a PNG or WebP tagged with a wide-gamut profile such as Display P3: its colours are converted to sRGB, so the values change but the picture doesn't. Logos, line art, anything you'll edit again, or when the file is evidence.
Smart
No visible change, targets 40 dB PSNR and a perceptual score of 70 A quality search runs per image and stops at the lowest quality that still clears the PSNR target. That answer is then scored on the SSIMULACRA 2 scale, because an average over every pixel lets a mostly flat picture through at a quality its detail doesn't deserve, and when it falls under 70 the search moves back up until it doesn't. Photos and graphics end up at different qualities because they need different ones; an image that cannot reach the targets inside the quality ceiling is encoded at the ceiling. Almost everything on a website. This is the default for a reason.
Ultra
Smallest file, targets 34 dB PSNR and a perceptual score of 50 The same two-stage search with lower targets. Fine texture softens a little; edges and text stay sharp. Thumbnails, backgrounds, email images, anything shown small or blurred anyway.
None
No compression at all Only the resize, conversion or metadata setting you chose is applied. Without a resize or a conversion every pixel comes back as it was: the file only loses its metadata, and with Keep EXIF on it comes back byte for byte. You only wanted to resize or convert, and quality is someone else's decision.

Measured, not estimated

What JPG to WebP saved on five real photos

The five JPG photographs from our showcase, converted to WebP by the pipeline your upload goes through. Look at the landscape and the food photo at Smart before you convert a whole site.

Sample Original Smart Ultra
Canoe at dusk 1800 by 1200 387 KB JPG 101 KB 74% smaller 42 KB 89.2% smaller
Raspberries 1800 by 1200 342 KB JPG 60 KB 82.4% smaller 25 KB 92.7% smaller
Night skyline 1800 by 1200 427 KB JPG 201 KB 53% smaller 78 KB 81.8% smaller
Fjord 1800 by 1200 832 KB JPG 563 KB 32.3% smaller 297 KB 64.4% smaller
Café interior 1800 by 1200 356 KB JPG 80 KB 77.6% smaller 41 KB 88.5% smaller

Sources are 1800 by 1200 JPGs at quality 92. Metadata stripped, no resize. At Smart, the landscape and the food photo came out slightly larger as WebP than they do as a recompressed JPG, which is why the full tool has an Auto format.

Is it worth it

Usually smaller. Not always.

The common claim is that WebP is 25 to 35 percent smaller than JPG. That's an average, and averages hide things. At the same measured quality, WebP won clearly on three of our five photos and lost narrowly on two. Modern JPEG encoders have closed much of the gap.

What WebP still gives you: good results at low qualities, where a JPG falls apart into blocks, and one format for photos and graphics alike. At Ultra it beat the recompressed JPG on all five samples.

Iminify runs cwebp at its slowest, most thorough setting on all but very large photos, and searches the quality per photo, measuring each candidate against your upload. A JPG source is never encoded above quality 95. Past that, a WebP only spends bytes preserving the JPG's artefacts.

What survives

What a JPG keeps on its way to WebP

  • EXIF, when you switch it on

    Stripped by default. With Keep EXIF on, the block is attached to the WebP after the encode, capture date and GPS included.

  • The right way up

    Sideways phone photos are turned upright before the orientation tag is removed.

  • Colours

    Display P3 and CMYK are converted to sRGB instead of dropped.

  • A lossless copy isn't possible

    A JPG is already lossy, so there's nothing lossless to preserve. Even at Lossless the photo is re-encoded, at a high quality. For a bit-exact smaller file, compress the JPG as a JPG.

When not to

When to skip this conversion

  • Your photos are detailed and you only need Smart. A well-compressed JPG can match WebP there, and it opens everywhere.
  • The images are going into email. Several mail clients still don't show WebP.
  • You can serve AVIF. It was smaller than WebP on every photo in our tests.

How to

JPG to WebP in three steps

  1. 1

    Drop your JPGs

    WebP is already chosen under Format.

  2. 2

    Pick a level

    Smart for no visible change. Ultra when the image is shown small, where WebP's lead is widest.

  3. 3

    Compare, then download

    The Compare view has a pixel difference map if you want proof, not an impression.

Questions

JPG to WebP questions

Next

From the blog

What we've measured so far

We run the encoders on real photos and screenshots and publish the numbers: when WebP beats AVIF, what quality 80 means in each encoder, and how many kilobytes an image on a web page should weigh.

All posts
Two rows of seven squares, one per test post. After the default wp media regenerate, four squares are red and read 404 and three read 200; after --skip-delete and the rewrite, all seven read 200.

Convert your existing WordPress images to WebP without a plugin: what regenerate breaks

On a WordPress 7.1.4 test site, one filter and wp media regenerate turned the resized copies WordPress makes of five full-colour (4:4:4) photographs into WebP files with 62.5% of the JPEG copies' bytes. All 25 WebP copies, five sizes of each photograph, also scored lower. The filter and regenerate also left four of our seven test posts pointing at copies WP-CLI had just deleted, and took the srcset off all seven inserted images that had one. The version below leaves no address broken and gives six of those seven their srcset back: the filter, regenerate with one flag, and a rewrite that changes an address only where a WebP exists. The recipe as printed needs WP-CLI and a shell on the server.

8 min read
Bar chart of bytes Chrome downloaded at phone size for five 4K JPEGs on a Next.js static export page: 55.2 MB as they are, 10.2 MB as Smart JPG at full size, 1.29 MB at 1200 px wide, 767 KB through next-image-export-optimizer.

Next.js static export images: the default loader breaks them and unoptimized ships the original

We built a page with five photographs in a Next.js 16.4.3 App Router app, set output: 'export', left the image settings alone, and next build finished with exit code 0. In Chrome none of the five images loaded: every src pointed at /_next/image, an endpoint a static export doesn't contain. Setting images: { unoptimized: true } fixes that, and the export then serves the file you put in public/. Chrome at phone size downloaded 2.4 MB for five 1800 px photographs, and 55.2 MB when the same page held five 4K Gemini JPEGs. This post compares that flag, next-image-export-optimizer and resizing the files first by what Chrome downloaded at phone size and at desktop size. The table is in the second section, and the choice we'd make follows the three options.

7 min read
Iminify blog cover on a blue gradient with a pixel pattern: "Should you compress before your CDN does?"

Should you compress images before your CDN re-encodes them? Measured through Next.js, wsrv.nl and Photon

The Fjord, one of our five test photographs, is an 852,461-byte JPEG, the master every score below is measured against. Iminify's Smart level makes it a 568,598-byte JPEG. We sent both through Next.js 16.4.3's image optimizer at its default, WebP at quality 75. Next's WebP of the master weighed 321,790 bytes and scored 66.98 against the master on SSIMULACRA 2, where 100 means no difference from the master. Its WebP of the Smart file weighed 314,578 bytes and scored 64.30: 2.2 percent fewer bytes for 2.7 points. Should you compress before a CDN or optimizer re-encodes your image? In our tests, on five JPEG photographs through Next and wsrv.nl, only losslessly. A lossless repack, which made our uploads 2.4 to 5.6 percent smaller, changed nothing in 80 of 80 Next responses. And in 40 of 40 comparisons at no more bytes, asking Next for a lower quality setting scored higher than the lossy first pass. If nothing re-encodes after you, compress first.

7 min read

Convert your JPGs to WebP

Drop a photo, open Compare and judge the result with your own eyes.