Image resizer
Set the size you need — and see the resized picture and its real file size before you download.
Resized image
Decoding…
Drop an image here and it comes back at the size you asked for.
How to use it
- Drop an image on the card, paste with ⌘V, or press “Choose image”. The width and height boxes fill with the original size and the result appears immediately: there is no button to press and nothing is uploaded.
- Type a new width — the height follows because the ratio is locked. Unlock it to stretch, switch to “Percent” to halve everything, or pick a preset such as WeChat avatar (240×240) or Instagram square (1080×1080).
- Read “4032×3024 → 800×600” and “2.4 MB → 310 KB”: the second number is the real size of the file you are about to download, not an estimate. “Download” saves it as name-800x600.jpg. Your original is never modified.
Example
Sample image (94.9 KB, 1200×800)
ykit-sample.jpg 1200 × 800 94.9 KB
Width set to 600, ratio locked
ykit-sample-600x400.jpg 600 × 400 32.0 KB
The numbers above come from the “Load sample” button itself — the same file your browser draws every time you press it. Because 600×400 keeps the 3:2 ratio, nothing is cropped.
Rules, limits and known issues
- Nothing is uploaded: decoding, scaling, cropping and encoding all run in this tab, and the page never sends a network request. Your original file is only read, never modified.
- The size readout is the real encoded file, so “it looks smaller” and “it is smaller” are the same thing here. There is no “resize to 200 KB” target: the browser encoder has no bitrate control, so use the quality slider and read the bytes.
- A preset whose ratio differs from your picture is never silently cropped: the default fits the whole picture inside the frame (so 1080×1080 on a 3:2 photo gives 1080×720), and the message tells you — with one click to switch to “fill and crop” when you really need the exact box.
- Enlarging is allowed up to the limit but adds nothing: stretching 800 px to 2000 px gives you the same detail at four times the bytes. The tool says so instead of pretending otherwise.
- Re-encoding drops EXIF (capture time, camera, GPS), XMP and the ICC profile, and the output is always sRGB — wide-gamut photos may look flatter. Orientation is rotated into the pixels, so photos will not come out sideways.
- Transparent pixels are filled with white when the output is JPEG, because JPEG has no alpha channel.
- Animated GIF keeps only its first frame and comes out as a still PNG — the browser canvas cannot re-encode animation. BMP likewise becomes PNG (it is bigger and lossless for nothing).
- HEIC/HEIF, AVIF and TIFF are accepted and handed to the browser: whether they decode depends on your browser, not on us (Safari usually can, Chrome usually cannot). If it fails, the tool names the container instead of showing an empty box. SVG is rejected on purpose: a vector has no pixels to resize.
- Up to 24 MiB and 40 megapixels per image, rejected before decoding so a huge file cannot eat the tab first; the output is capped at 4096 px per edge and 16 megapixels. One image at a time — for a batch with a ZIP, use the image compressor. There is no history and no share link: nothing is stored, so a reload starts from zero.
Related tools
What people usually need next, once the size is right.