Resize an Image to an Exact File Size in Your Browser
Image Studio
A small image utility that runs entirely in your browser. Resize a photo down to whatever file size a form demands, crop and rotate it, convert formats, or turn an image into a favicon pack. Nothing is uploaded anywhere; the file never leaves your device, and re-saving it strips the EXIF metadata (camera model, GPS location, timestamps) along the way.
A caveat: this is a personal side project and I have not tested it exhaustively. I make no guarantees; keep your original files.
or click to choose one
–
Export
Advanced: limit dimensions
Favicon pack
Generate every common favicon size, a site.webmanifest, and the <link> snippet, bundled as a .zip. A square center-crop is used.
🔒 100% in-browser. Your image is never uploaded. (I use Google Analytics to see whether anyone visits this page, but it cannot see your image.)
FAQ
How do I resize an image to an exact file size?
Drop the image in, leave the mode on "Hit a target file size", and set the size the form is asking for. The tool searches JPEG or WebP quality settings for the largest output that fits under the limit, and scales the image down if quality alone can't get there.
Does my image get uploaded?
No. The whole tool runs in your browser, and the file never leaves your device. (I use Google Analytics to see whether anyone visits this page, but it cannot see your image.)
What's in the favicon pack?
PNG icons at 16, 32, 48, 96, 192, and 512 pixels, an apple-touch-icon.png at 180 pixels, a starter site.webmanifest, and a snippet.html with the <link> tags to paste into your page's head, all in one .zip. The icons are cut from a square center-crop of your image.
Does my photo get uploaded when I remove a background?
No. "Cut out background" downloads a segmentation model to your browser once, about 42 MB, and from then on the whole thing runs on your device. The photo itself is never sent anywhere. (I use Google Analytics to see whether anyone visits this page, but it cannot see your photo.)
How do the Keep and Remove brushes work?
The first cut is automatic: the tool guesses at the subject in the middle of the frame. Each stroke after that is a correction, and the model reworks the whole cut around it rather than only adding or subtracting the bit you painted. Keep says this belongs to the subject, Remove says this does not, and Remove works inside the subject too, so you can open a hole like the gap in a mug handle. Because every stroke reworks the cut, one can occasionally take more than you meant with it; brush the part you want back and it comes back. "Undo stroke" steps back one correction at a time and "Start over" returns to the automatic cut.
Why is the first cut slow?
Two one-time costs. The model is downloaded the first time you use the tool, and your browser caches it after that. Then the photo has to be read by the model once, which takes about 10 seconds on a typical computer and longer on a phone. Every brush stroke after that reuses that reading, so corrections come back in about half a second on a typical computer.
Why do the cutout edges look soft?
The model works on a smaller copy of the image, so its mask is scaled back up, and the Feather slider then blends the edge along the colours in the photo. That keeps a hard cut from looking like scissor work, but fine detail like flyaway hair comes out approximate. Set Feather to 0 for a hard edge, or raise it for a softer one.
Cutout segmentation: MobileSAM (Chaoning Zhang et al., Apache 2.0; ONNX export by Acly, MIT) via ONNX Runtime Web (Microsoft, MIT).