Logo

MonoCalc

/

Social Image Compressor

Social Media

Re-encode a photo to a smaller file before you upload it, and see exactly what that cost. Drag an image onto this panel, or paste one from the clipboard. JPEG, PNG, WebP, GIF and AVIF, up to 25 MB and 50 megapixels.

Your image never leaves your device
Compression runs entirely in your browser — nothing is uploaded to any server. There is no upload field for a web address either: a cross-origin image would make the browser refuse to read the result back.

About This Tool

Social Image Compressor — smaller files, and what they cost

A photo straight off a phone is often eight or twelve megabytes, and most of that weight buys nothing once the picture is a square in somebody’s feed. This image compressor re-encodes it in your browser so the file you upload is smaller, and it is blunt about the trade: it shows the real byte counts, the signed percentage change, a zoomable side-by-side of the original and the result, and a measured curve of file size against quality for your specific picture. Nothing is uploaded — the file is decoded, redrawn and re-encoded entirely on your own device, and the page makes no network request while it works.

Re-encoding is not repacking

The mechanism here is canvas.toBlob(). Your browser decodes the file into raw pixels, those pixels are drawn onto a canvas, and a fresh encoder compresses them again from nothing. That matters more than it sounds. Even at quality 1.00 a JPEG or WebP output is a brand-new lossy encode, not a tidier copy of the original bits, so this is not a lossless optimiser in the sense that tools like mozjpeg or oxipng are. It also explains the result people find most surprising.

A compressor can make a file bigger, and often does
If your source was already compressed — nearly every photo that has passed through a phone, a messaging app or another platform — a high quality setting can spend more bytes than the original did. The second encoder sees the first encoder’s artifacts as detail worth preserving. Lower the quality, cut the dimensions, or keep the file you started with.

Why there is no recommended quality

Plenty of guides name a number. None of them can, because how a setting holds up is a property of the setting and the image together. A portrait against a soft out-of-focus background survives compression that visibly destroys a screenshot full of small text, a flat sky with a hard horizon through it, or a logo with clean vector edges. So instead of a number, this tool measures the actual size-versus-quality curve for the picture you loaded, at real encoded byte counts, and marks where that curve crosses your original file’s size. On most photographs the curve is steep at the very top and almost flat through the middle — which is to say the last few points of quality cost a great deal and buy very little, and where exactly that turns is different for every image.

Formats, and the one that ignores the slider

JPEG is the right default for photographs and cannot store transparency at all. WebP is usually smaller than JPEG at a comparable appearance and keeps an alpha channel. PNG is lossless, which is why the quality slider disappears when you select it: the canvas encoder takes no quality argument for PNG, and asking for 0.2 returns byte-for-byte the same file as asking for 1. With PNG selected, any size change comes from re-encoding and from a resize, never from quality tuning.

If your image has transparent pixels and you choose JPEG, those pixels have to become some opaque colour. The tool stops and asks which colour rather than guessing, because a browser left to itself will commonly pick black — which is how a transparent logo ends up in a black box.

Resizing is usually the bigger lever

Halving an image’s width and height quarters its pixel count, and file size follows roughly along. A 4032-pixel-wide photo displayed at 1080 pixels is carrying detail nobody will ever see. The resize control here always preserves the aspect ratio and never enlarges — it is a lever on file size, not a crop, so there is no offset, no framing handle and no aspect-ratio preset.

Metadata does not survive, and that is useful
Canvas re-encoding writes pixels and nothing else, so EXIF, GPS coordinates, XMP and embedded ICC colour profiles are all discarded. The rotation tag is applied to the pixels first, so the output is upright and simply has no orientation tag. One caveat: a wide-gamut Display P3 source will shift in appearance once its profile is dropped.

Look at the pixels, not only the number

Compression artifacts are invisible at fit-to-width and obvious at 200 percent, which is why the comparison viewer has a draggable divider, a zoom control and a button that jumps both panes to the busiest region of the picture. That is where ringing on hard edges, blocking in smooth gradients and smeared fine text show up first. A percentage tells you what you saved; only the zoomed view tells you what it cost.

Frequently Asked Questions

Is the Social Image Compressor free?

Yes, Social Image Compressor is totally free :)

Can I use the Social Image Compressor offline?

Yes, you can install the webapp as PWA.

Is it safe to use Social Image Compressor?

Yes, any data related to Social Image Compressor only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

Is my image uploaded anywhere?

No. The file you choose is decoded by your own browser, redrawn onto a canvas on this page, and encoded back into a new file that your browser saves locally. Nothing is sent to a server, because this site is a set of static files with no upload endpoint, no account and no database behind it. You can disconnect from the network entirely and every part of the tool still works, which is also why a remote image URL is not an input here: loading a cross-origin image would taint the canvas and make the browser refuse to read the result back.

Why did my file get bigger instead of smaller?

Because the original was already compressed, and this tool re-encodes rather than re-packs. Your browser decodes the file into raw pixels and then asks a fresh encoder to compress those pixels again from scratch. If the first encoder worked at a lower quality than the setting you chose here, the second pass spends more bytes describing the same picture — including the artifacts the first pass left behind, which are detail as far as the new encoder is concerned. Lower the quality, reduce the dimensions, or keep the original file. The tool tells you when this has happened instead of describing a bigger file as a saving.

Why is there no quality slider when I choose PNG?

Because PNG would ignore it. PNG is a lossless format and the browser's canvas encoder takes no quality argument for it at all — asking for quality 0.2 produces byte-for-byte the same file as asking for quality 1. A slider that silently does nothing is worse than no slider, so it is hidden for PNG and shown for JPEG and WebP, where it genuinely changes both the file size and the picture. With PNG selected, any size change you see comes from re-encoding and from a resize, not from quality.

What happens to EXIF, GPS and colour profile data?

All of it is discarded. Canvas re-encoding writes pixels and nothing else, so EXIF tags, GPS coordinates, XMP records and embedded ICC colour profiles do not survive into the output. For a photo you are about to post publicly that is usually welcome — the location the picture was taken is not carried along with it. Two consequences are worth knowing: the EXIF rotation tag is applied to the pixels before encoding, so the output is upright and simply has no orientation tag, which is correct rather than a bug; and a wide-gamut source such as a Display P3 photo will shift in appearance once its profile is dropped.

What quality setting should I use?

There is no single right answer, and this tool deliberately does not name one. Whether a given setting holds up depends on the picture: a portrait against a soft background survives aggressive compression that would visibly wreck a screenshot of text or a flat gradient with a hard edge running through it. That is why the tool measures the actual size-versus-quality curve for your specific image and shows a zoomable side-by-side of the original and the result. Find the point where the curve flattens, look at the busiest part of the picture at 200 percent, and decide from what you can see.

What files can I load, and how large can they be?

JPEG, PNG, WebP, GIF and AVIF can be read; the output is always JPEG, PNG or WebP, since those are the formats a browser canvas can write. Animated GIF and WebP inputs contribute their first frame only. Two separate limits apply before anything is decoded: 25 MB of file, and 50 megapixels of image — a 30 MB file and a 200 megapixel image fail for different reasons and get different messages. Output dimensions are also capped by the largest canvas area that works reliably across devices, which matters most on iPhones and iPads.