Compress WebP

Re-encode existing WebP files, or drop in JPEG and PNG images to convert them. All of it happens on this device.

  • Free forever
  • No signup
  • Files never uploaded
  • No watermark
  • Unlimited files

WebP compressor and converter

WebP files are accepted, and so are JPG and PNG if you want to convert them to WebP. Paste from clipboard with Ctrl+V (Cmd+V on a Mac).

Compression mode

Set the encoder quality directly. Lower quality means a smaller file.

78

80 suits most web images. Above 90 the file grows quickly for very little visible gain.

Keep the original format, or convert on the way out to compare which one is smallest.

  • Removes camera model, timestamps and GPS coordinates from the output.

  • Compress without changing the pixel size of the image.

  • Only used when the output format cannot store an alpha channel.

Ready. Add a file to begin.

Results

Quality mode · WebP output · 0 files

No files yet. Results will appear in this table as soon as you add one.

Your files are processed by your own browser. Nothing is uploaded to a server, so nothing can be stored, read or shared.

More tools

Other tools on this site

Each one runs in the browser the same way, with no upload and no account.

  • Compress JPEG

    Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.

    Compress JPEG
  • Compress PNG

    Reduce PNG screenshots and graphics while keeping transparency and hard edges intact.

    Compress PNG
  • Resize Image

    Change pixel dimensions by width, height or percentage, with the aspect ratio locked.

    Resize an image
  • JPG to PDF

    Combine several photos into one PDF, reorder the pages and choose paper size and margin.

    Build a PDF
  • Document Editor

    Write a formatted document in the browser and export it to PDF, DOCX or HTML.

    Open the editor

Specification

Technical specification

Every capability written out as text, including the ones where the answer is no. A specification that only listed the wins would not be worth reading.

Technical specification — what this tool supports, attribute by attribute.
AttributeThis tool
Supported input formatsWebP, JPG, PNG
Output formatsWebP, JPEG, PNG
Compression typeLossyA browser canvas writes lossy WebP. For mathematically lossless output use PNG.
Quality controlAdjustable, 10 to 100Maps directly to the encoder's quality setting. Moving it genuinely changes the output.
Exact output file sizeYes — target in KBThe encoder searches for the highest quality that fits under your limit, then reports the size it actually reached.
Resize / image dimensionsYes — max width and heightAspect ratio preserved. The resizer page adds exact pixel and percentage modes.
Batch / bulk processingUnlimitedFiles are encoded in parallel across a Web Worker pool and can be downloaded as one ZIP.
Maximum file sizeNo limit set by this siteBounded in practice by your device's memory, since each image is held uncompressed while it is processed.
EXIF and metadataStripped by defaultCamera model, timestamps and GPS coordinates are removed. You can switch it off.
Transparency / alpha channelFully preservedWebP carries a full alpha channel in both directions, so transparency survives conversion from PNG.
Chroma subsampling controlNot availableThe browser's encoder chooses it and exposes no setting. We will not add a control that cannot affect the output.
Progressive JPEG controlNot availablecanvas.toBlob gives no control over progressive encoding. Use MozJPEG or ImageMagick if you need it.
Colour profile handlingConverted to sRGBA browser canvas works in sRGB, so wide-gamut images are converted. Correct for the web, wrong for print masters.
Bit depth8 bits per channelThe maximum a browser canvas provides. HDR and 10-bit output need AVIF, which browsers cannot write.
Animation supportNot supportedA canvas decodes only the first frame of an animated file, so animation is out of scope rather than half-supported.
Where processing happensIn your browserNo upload endpoint exists in the compression path. Disconnect from the network after the page loads and it still works.
File retentionNone — nothing is receivedThere is no copy to retain or delete, because no file is ever transmitted.
WatermarkNeverThe output contains your image and nothing else.
Account, quota or costNoneNo sign-up, no daily cap, no paid tier withholding a feature.
Browser supportChrome, Edge, Firefox, SafariDesktop and mobile. Requires Canvas and Web Workers, which every current browser provides.

See the difference

Drag the handle to compare, and zoom in to inspect the detail at full size.

Sample landscape photograph before compression — a low sun over a lake with distant ridges.
OriginalCompressed
50%
1.0×
Sample photograph, 1280 × 854 pixels. The original is a lossless PNG of 1.06 MB. Your browser re-encodes it with the settings shown and prints the measured result below — these are real figures produced on your own device, not a stored screenshot.
Dimensions
1280 × 854
Format
PNG → JPEG
Original size
1.06 MB
Compressed size
measured in your browser
Saved
measured in your browser

How it works

How to compress a WebP

  1. Step 1: Add your images

    Drag files onto the drop zone, click it to browse, or paste an image straight from the clipboard. Batches of any size are fine.

  2. Step 2: Choose your settings

    Pick a quality level, an exact target size in kilobytes, or a maximum width and height. Defaults are tuned for the web if you would rather not change anything.

  3. Step 3: Download the compressed files

    Every file is listed with its old size, new size and percentage saved. Save them one at a time or grab the whole batch as a ZIP archive.

Features

What this compressor does

  • Batch processing

    Queue as many WebP files as you like. A Web Worker pool handles them in parallel so a large batch does not freeze the page.

  • Real quality control

    The quality slider maps directly to the encoder setting. Move it and the output genuinely changes — there are no cosmetic controls here.

  • Exact target size

    Ask for 200 KB and the encoder searches for the highest quality that fits under your limit, then reports what it actually achieved.

  • EXIF and metadata stripping

    Camera model, lens, timestamps and GPS coordinates can be removed on the way out. Useful before publishing a photo taken on a phone.

  • Format conversion

    Write the result as JPEG, PNG or WebP regardless of what you put in, so you can test which format is smallest for a given image.

  • Nothing is uploaded

    The whole pipeline runs in your browser through the Canvas API. Turn off your network connection after the page loads and it still works.

  • No watermark, no sign-up

    The output is your image and nothing else. There is no account, no daily quota and no paid tier holding back a feature.

  • Works on mobile

    The layout, the drop zone and the results table are all usable on a phone, and mobile browsers run the same encoder as the desktop ones.

In depth

Understanding WebP

How WebP differs from JPEG

JPEG divides an image into 8 × 8 blocks and describes each one with a discrete cosine transform. WebP's lossy mode borrows from video coding instead: it predicts each block from the pixels already decoded above and to the left of it, and then stores only the difference between the prediction and reality.

Because most of an image is fairly predictable from its neighbours, that difference is usually small, and small numbers cost few bits. This is why WebP reaches the same apparent quality as JPEG in roughly a quarter fewer bytes, and why it degrades more gracefully at low quality — it blurs rather than breaking into visible 8 × 8 squares.

WebP also carries an alpha channel and a lossless mode that JPEG has never had, which is what lets one format replace both JPEG and PNG on a web page.

Lossy and lossless compression are not the same thing

Lossless compression rewrites the file so it takes up less space while every pixel value survives exactly. Decode the result and you get the original back, byte for byte. PNG, GIF and lossless WebP work this way, and so does a ZIP archive.

Lossy compression throws information away on purpose. JPEG converts the image to a frequency representation, then discards the high-frequency detail your eye is least likely to miss. The result cannot be reversed: the discarded detail is gone. That is also why lossy formats reach file sizes lossless ones cannot approach — a photo saved as PNG is routinely five to ten times larger than the same photo saved as JPEG at a sensible quality.

Neither one is better. Photographs, with their smooth gradients and noise, suit lossy encoding. Screenshots, logos, line art, charts and anything with large flat areas and hard edges suit lossless encoding, because lossy encoders produce visible haloes around sharp boundaries.

How quality maps to file size

The quality number in a JPEG or WebP encoder is not a percentage of anything. It is an index into a set of quantisation tables that control how aggressively detail is discarded. The relationship to file size is steep and non-linear.

For a typical 12-megapixel phone photograph the curve looks roughly like this:

  • Quality 95–100 — near-original appearance, but the file is often only 20–35% smaller. Rarely worth it for the web.
  • Quality 80–90 — the sweet spot for photography you care about. Typically 50–70% smaller with no artefact you would notice at normal viewing distance.
  • Quality 70–80 — the sweet spot for ordinary web images. Usually 70–85% smaller. Artefacts appear only if you zoom in on flat sky or skin.
  • Quality 50–70 — visible softening and blocking in smooth areas, though thumbnails and background images survive it well.
  • Below 50 — obvious blocking, ringing and colour banding. Useful only for placeholders.

Diminishing returns set in fast at the top of the range. Going from quality 100 to quality 90 usually halves the file for no perceptible change; going from 90 to 80 saves far less and costs slightly more. If you only remember one number, use 80.

Chroma subsampling

Human vision resolves brightness far more finely than colour. JPEG and WebP exploit that by splitting the image into one luma (brightness) channel and two chroma (colour) channels, then storing the chroma channels at reduced resolution.

4:4:4
No subsampling. Colour is stored at full resolution. Largest file, but required for sharp coloured text, UI screenshots and fine coloured line art.
4:2:2
Chroma halved horizontally. A middle ground used in video and some professional workflows.
4:2:0
Chroma halved both horizontally and vertically, so each colour sample covers a 2×2 block of pixels. This is the default for web JPEG and it saves a substantial amount with no visible cost on photographs.

The failure case is worth knowing: red or blue text on a contrasting background, or a thin saturated line, will smear and fringe under 4:2:0. If you are compressing a screenshot with coloured text and it comes out looking dirty, that is chroma subsampling, not the quality setting — and it is a strong hint the image should be a PNG or a WebP rather than a JPEG.

Transparency, PNG and the JPEG trap

JPEG has no alpha channel. It cannot store transparency in any form. When a transparent PNG is converted to JPEG the transparent pixels have to become something, and most tools silently fill them with black — which is why a logo exported to JPEG so often arrives with an unwanted dark box around it.

If your image has transparency you have three sensible options: keep it as PNG, use WebP (which supports alpha and is typically 25–35% smaller than PNG for the same image), or flatten it onto a known background colour deliberately rather than letting an encoder choose for you.

PNG's own compression is lossless and works best on images with few distinct colours and large uniform regions. A screenshot of a text document compresses beautifully. A photograph saved as PNG does not, because virtually every pixel differs from its neighbour and there is no redundancy for the algorithm to exploit.

Why re-compressing a JPEG keeps degrading it

Every time a JPEG is decoded, edited and saved again, the encoder re-runs its quantisation step on data that has already been quantised once. Errors from the previous pass are treated as real detail and get their own new errors layered on top. This is called generation loss, and it accumulates in one direction only.

Saving an already-compressed JPEG at quality 90 does not restore anything — it just spends more bytes preserving the artefacts of the earlier pass. Saving repeatedly at a low quality is what produces the smeared, blotchy look of an image that has been through a dozen chat apps.

Two habits avoid it. First, always compress from the highest-quality original you have, not from a copy that has already been through a compressor. Second, decide on your output size once and do a single pass, rather than nudging the quality down repeatedly and re-saving each time. If you need to try several settings, run each of them against the original file.

Recommended settings for web, email and print

Web page content images
Quality 75–82, longest edge 1600–2000 px, progressive, EXIF stripped, 4:2:0 subsampling. Expect 100–250 KB for a full-width photograph.
Hero and banner images
Quality 78–85, longest edge 2000–2560 px for high-density screens. Serve WebP with a JPEG fallback if you can; the WebP is usually 25–30% smaller at matched quality.
Thumbnails and list images
Quality 70–75, longest edge 400–600 px. Below about 40 KB there is little left to win.
Email attachments
Target 200–500 KB per image and keep the whole message under about 10 MB. Many corporate mail servers still reject more, and some silently re-compress what they do accept.
Online forms and document uploads
Use the target-size mode and set it just under the stated limit — 95 KB for a 100 KB cap. Passport and visa portals in particular reject anything over the limit without explanation.
Print
Do not compress aggressively. Quality 92 or higher, no downscaling, and supply roughly 300 pixels per inch of final print size. For an A4 page that is about 2480 × 3508 pixels.
Archival originals
Do not re-compress at all. Keep the camera original, and compress copies for distribution.

Questions

Frequently asked questions

Every answer below is present in the page source, expanded, so it can be read without opening anything.

What is WebP and why would I use it?

WebP is an image format developed by Google that handles both lossy and lossless compression and supports transparency and animation. At matched visual quality it is typically 25–35% smaller than JPEG and 20–30% smaller than PNG, which makes it the best default for images on a web page today.

Do all browsers support WebP?

Effectively yes. Chrome, Edge, Firefox, Opera and Safari have all supported it for years, including on iOS. The remaining gap is old desktop software and some email clients, so if an image is going into an email newsletter or being handed to a print shop, send a JPEG instead.

Can I convert JPEG and PNG into WebP here?

Yes, and that is the most common use of this page. Drop in JPEGs or PNGs, leave the output format on WebP, and you get WebP files back. Transparency from a PNG is preserved, because WebP supports an alpha channel.

Is WebP lossy or lossless?

It can be either. This tool writes lossy WebP, because that is what your browser's canvas encoder produces, and the quality slider genuinely controls it. If you need mathematically lossless output, use PNG on the Compress PNG page — no label on this site will tell you a lossy encode is lossless.

What quality should I use for WebP?

Between 75 and 80 for most web images. WebP holds up better than JPEG at the lower end of the scale, so a WebP at 75 usually looks like a JPEG at 82 while being noticeably smaller. Above 90 the file grows sharply for very little gain, as with any lossy encoder.

Is re-compressing an existing WebP worth it?

Only if it was saved at a high quality or has larger pixel dimensions than you need. Re-encoding an already-lossy WebP incurs generation loss, the same as it does with JPEG, so you are trading visible quality for the saving. Compressing from the original JPEG or PNG gives a better result than compressing a WebP twice.

Does WebP support transparency?

Yes, a full 8-bit alpha channel, the same as PNG. That is what makes it a genuine replacement for PNG on the web rather than only for JPEG — you can have a transparent logo at a fraction of the PNG file size.

What about animated WebP?

This tool works on still images only. An animated WebP dropped in here would be reduced to its first frame, so it is not something we recommend doing. There is no hidden animation feature and none is advertised.

Are my files uploaded?

No. Encoding is done by your own browser through the Canvas API, in this tab, on this device. Nothing is sent anywhere, and the page continues to work with the network disconnected.

Why is my WebP bigger than the JPEG I started with?

Usually because the quality setting is too high for the content, or because the source JPEG was already heavily compressed and the WebP encoder is now faithfully preserving its artefacts. Try a quality around 75, and always encode from the highest-quality original you have rather than from a file that has already been through a compressor.

Can I go back from WebP to JPEG?

You can convert a WebP to JPEG on this page by changing the output format, but understand what that is: a second lossy encode of an already lossy image. It will be slightly worse than the WebP and probably larger. Convert from your original whenever you still have it.

Should I serve WebP with a JPEG fallback?

It is still the safest pattern, using a <picture> element with a WebP source and a JPEG fallback, and it costs nothing but a little markup. Given current browser support you can also serve WebP alone for most audiences — check your own analytics rather than a general recommendation.

From the blog

Related reading

Longer explanations from the blog.

  • Image Formats

    WebP vs JPEG: Which Should You Use, and When JPEG Still Wins

    WebP produced a 27.0 KB file against MozJPEG's 41.1 KB on the same photograph at slightly higher measured fidelity — 34% smaller. It also produced a larger file than JPEG on random noise. The advantage is real and content-dependent.

    9 min read

  • Practical Guides

    How to Compress Images for a Website Without Wrecking Them

    Resize before you compress. Measured on one photograph: half the width at quality 80 produced a 16.4 KB file, while full width at quality 40 produced 20.6 KB and looked far worse. The order of operations matters more than the settings.

    8 min read

  • Image Formats

    PNG vs JPEG: When to Use Each, With the File Sizes to Prove It

    PNG stored the same photograph in 1274.1 KB where JPEG needed 67.5 KB — nineteen times larger. On a flat graphic PNG won. On a smooth gradient PNG lost to JPEG by a factor of two, which surprises most people.

    9 min read