Every image, exactly 80 KB

Drop an image and get it back as WebP or AVIF at exactly 80,000 bytes — the best-looking version that fits. It runs on your device, so nothing is uploaded.

See what 80 KB looks like →

Drop images here

or click to choose, or paste a screenshot

How it hits the number

Encoders cannot be asked for an exact file size, so this finds the best-looking version that fits under 80,000 bytes, then pads the file to the number with a chunk that decoders ignore. The image is unchanged.

Fitting the budget is a trade between resolution and quality. Squeezing a large photo into 80 KB by dropping quality alone looks bad, so each candidate size is scored against the original and the one that survives best wins — which usually means a smaller, cleaner image.

In a build, or from a terminal

The same engine runs as a command and as an endpoint, for the images you never open a browser for.

npx exact80 ./images --format webp

curl -X POST https://exact80.vercel.app/api/compress \
  -F image=@photo.jpg -o photo.avif

There is a GitHub Action too, which compresses the images in a pull request and comments with what it saved. The README has the details.