Compress images to an exact size

Pick a target — 500 KB, 1 MB, whatever you need — and PicShift finds the highest quality that still fits. No upload, no server, no queue. Free, no signup, no watermark.

Drop images here

or choose files · JPG, PNG, WebP, HEIC, TIFF, AVIF, GIF, BMP, SVG

Why this one is different

Most online converters take your photos, upload them to a server, and hand you back a watermarked file while charging you by the month. This one doesn't have a server to upload to.

Nothing can be uploaded

This isn't a promise, it's a constraint. The site ships a Content-Security-Policy header with connect-src 'none', which makes your browser refuse to let the page open a network connection at all. Open DevTools → Network, convert a photo, and watch the request list stay empty.

No file size games

Competitors cap the free tier at 100 MB, 5 files, or one conversion per day, because every upload costs them money. Processing locally costs us nothing, so there's no reason to ration it.

Transparency handled right

Converting a transparent PNG to JPG normally turns the background black. We lay down a white background first, the way you'd expect.

No watermark, no signup

There is no account, no email, and no logo stamped on your photos.

How the compression works

You drop inWhat happens
JPG / WebP Re-encoded at the highest quality that fits your target
PNG (lossless) Converted to the format you picked — PNG has no quality dial
HEIC / TIFF / AVIF / GIF / BMP / SVG Decoded, then encoded to the format you picked

The search runs on your own CPU: PicShift encodes the image a handful of times at different quality settings and keeps the best one that fits. On a large photo that takes a second or two — the progress bar is real work, not a decoration.

If the target is impossible, we say so. A 40-megapixel photo cannot be squeezed into 50 KB at any usable quality. Rather than hand you a different number than you asked for and stay quiet, the result row tells you the smallest size that format could reach.

Pricing

The free tier is not a trial. It does not expire and it has no watermark.

Free

$0

  • Up to 10 images per batch
  • Unlimited batches
  • No upload, no signup, no watermark
  • JPG · PNG · WebP · BMP · ICO · TIFF · GIF output

Pricing is a guess and we know it. If the free tier covers what you need, use it — that's the point. If you want Pro when it ships, the button will be here.

Questions

How much quality do I lose?

Only as much as the target demands. PicShift does not guess a quality setting — it searches for the highest one whose output still fits, so a generous target costs you almost nothing. If you want zero loss, use the converter and choose PNG instead.

Why can't I choose PNG as the output?

Because PNG is lossless: there is no quality setting to turn down, so a "compression" target would be a lie. PNG files do shrink when you re-encode them (that is what the converter does), but you cannot ask for a specific smaller size. If you need PNG specifically, keep the original.

Should I pick JPG or WebP?

WebP is typically 25–35% smaller than JPG at the same visual quality, and it supports transparency. JPG wins only on compatibility with very old software. If in doubt, pick WebP — every current browser and phone opens it.

Can I compress many images at once?

Yes, up to 10 per batch on the free tier, and you can download them all as a ZIP. Each file gets its own quality search, so a small photo and a huge one both land under the target without one dragging the other down.

Are my images uploaded?

No. The site is served with connect-src 'none' in its Content-Security-Policy, so your browser refuses to let this page open a network connection at all. Everything — including the repeated encoding the size search needs — happens on your own machine.

Why is the result sometimes smaller than my target?

If the image at maximum quality is already under your target, PicShift stops there instead of inflating the file to hit the number exactly. You get the best possible quality and a smaller file — there is no downside.