RaveToolsImage Compressor

Image Compressor

MozJPEG, WebP, AVIF and OxiPNG, compiled to WebAssembly and run on your own machine. Quality slider or a hard kB budget. Nothing is uploaded.

Common compression tasks

Jump straight to a preset for your format or goal - each opens the same compressor tuned for that job.

How it works

One photo straight off a camera, run through the same WebAssembly codecs this page uses, at its default settings. Every size below is the real output, and every picture is the real result, cut at 100%.

Quality: where the weight goes

MozJPEG, only the quality slider moved. The file shrinks fast while the picture holds, until it doesn't.

Common kingfisher on a mossy branch, the sample photo used for every measurement in this section
4928 × 3264 · 3.6 MB camera JPEG. The marked square is what every tile shows. Photo: Frank-2.0, CC0
  1. Kingfisher crop at 100%, original, 3.6 MBOriginal
    3.6 MBCamera file
  2. Kingfisher crop at 100%, quality 90, 1.2 MBq90
    1.2 MB-68%Identical
  3. Kingfisher crop at 100%, quality 75, 393 kBq75Default
    393 kB-89%Identical
  4. Kingfisher crop at 100%, quality 50, 260 kBq50
    260 kB-93%Identical
  5. Kingfisher crop at 100%, quality 30, 193 kBq30
    193 kB-95%Near-identical
  6. Kingfisher crop at 100%, quality 15, 127 kBq15
    127 kB-97%Feathers smear
  7. Kingfisher crop at 100%, quality 5, 69 kBq5
    69 kB-98%Breaks into blocks
-89%

At the default quality 75 this photo drops from 3.6 MB to 393 kB with no change you can see. Damage starts well below that: fine feathers smear first, then the picture breaks into blocks and the smooth background shifts colour. The compare slider in the tool shows you the same thing on your own image.

Format: same look, very different weight

Each output format at its default setting, same photo, same square. The bars share one scale, up to twice the original's weight.

  • Kingfisher crop at 100%, AVIF quality 50, 148 kBAVIF quality 50Smallest file, slowest encode148 kB-96%
  • Kingfisher crop at 100%, WebP quality 75, 301 kBWebP quality 75The default output301 kB-92%
  • Kingfisher crop at 100%, MozJPEG quality 75, 393 kBMozJPEG quality 75Opens anywhere393 kB-89%
  • Kingfisher crop at 100%, PNG lossless, 6.6 MBPNG losslessMade for flat graphics6.6 MB+82%

On this crop the three lossy formats are indistinguishable, so pick by weight and by where the file is going. PNG keeps every pixel, so a photo saved as PNG comes out heavier than the camera file (+82%). Keep PNG for screenshots, logos and flat graphics; send photos to AVIF, WebP or JPEG.

Target size: name a budget, it finds the quality

Switch to Target size, type 200 kB, and the tool tries the middle of the quality range, keeps the half where the answer must be, and tries again. Each try is one full WebP encode. This is the real run on the photo above.

Quality triedTry 3 of 3
q39
q1q100searching q27-q50
WebP file sizebudget 200 kB
196 kB
200 kB
Within 2%, keep it
  1. Try 1q51 from window q1-q100231 kBOver budget, go lower
  2. Try 2q26 from window q1-q50161 kBFits, room left, go higher
  3. Try 3q39 from window q27-q50196 kBWithin 2%, keep it
196 kBq39

Kept after 3 encodes: 98% of the budget. Of all the tries that fit, it keeps the largest, the one closest to your budget, so no quality is given away for free. It never shrinks your image's resolution to get there; that stays your call in Resize.

About

The Image Compressor is a browser-native clone of Squoosh: drop an image, see it with a before/after compare slider, tune the format and quality, watch the new file size live, and download. Under the hood it runs the exact same WebAssembly codecs Squoosh uses - MozJPEG, WebP, AVIF and OxiPNG - so you get real, competitive compression, not a quick canvas re-encode.

Two ways to control weight. Quality mode gives you a quality slider with a live before/after preview. Target size mode lets you name a kB budget - say max 200 kB- and the tool binary-searches the quality per image until it fits, telling you honestly when a file can't reach the budget instead of faking it. Drop a whole folder or a ZIP- each image keeps its own settings, and “Apply current settings” copies them onto the ones you select - resize to a maximum dimension, and export each file or the entire batch as a ZIP.

100% in your browser: decoding, resizing, encoding and ZIP packaging all run locally on WebAssembly - no upload, no account needed, nothing stored on a server. If you only need a different format rather than the smallest weight, reach for the image converter instead.

Frequently Asked Questions

No. Every step - decoding, resizing, compression and ZIP packaging - runs entirely inside your browser using WebAssembly codecs. Your images never leave your device and nothing is sent to a server, so it works offline and is safe for private or sensitive photos.

You can drop PNG, JPG, WebP, AVIF, GIF or BMP images. You can export to WebP, AVIF, MozJPEG (JPEG) or PNG (optimised with OxiPNG). WebP and AVIF usually give the smallest files at good quality; JPEG is the most universally supported; PNG stays lossless.

Instead of picking a quality level, you set a kB budget (for example "max 200 kB") and the tool automatically searches for the highest quality that still fits under that size, separately for each image. It only aims at the weight - it never judges whether the result looks good, so you stay in control by watching the before/after preview.

The tool encodes at the lowest sensible quality and then tells you the truth - for example "couldn't hit 50 kB - got 78 kB" - instead of pretending it succeeded or wrecking the image. It never downscales the resolution on its own; if you want a smaller file you can lower the resolution yourself with the resize option.

Yes. Drop multiple files, a whole folder, or a ZIP archive. Each image keeps its own settings - a new one inherits whatever you last used - so you tune the one you are previewing without touching the rest. To put the current settings on several images at once, select them and use "Apply current settings". Then download them individually or grab the whole batch as a single ZIP.

A converter changes the container format (PNG to JPG, HEIC to JPG) with a simple quality slider. This compressor fights for the smallest possible weight using the same WebAssembly codecs as Squoosh - MozJPEG, WebP, AVIF and OxiPNG - plus a before/after slider and target-size search. If you only need a different format, an image converter is the lighter tool.

JPEG has no alpha channel, so transparent areas have to be filled. When you export a transparent image to JPEG, the tool flattens it onto a background colour - white by default, but you can pick any colour with the "Background when flattened" swatch - and tells you it did so. To keep transparency instead, export to WebP, AVIF or PNG and leave "Preserve transparency" on.