Resize or Compress an Image
Drop a JPG, PNG, or WebP image, set a new width or height, and adjust the output quality - the preview and file size update live as you go. Nothing is uploaded.
Resize or Compress an Image
Drop your image here
Up to 20MB per file. Stays on this device.
Nothing is sent anywhere. Turn off your Wi-Fi and this page still works - try it.
How it works
- Drop or choose a JPG, PNG, or WebP image.
- Set a new width or height (locked to the original aspect ratio by default), pick an output format, and adjust the quality slider.
- The preview and file size update live as you adjust the settings - download the result once you’re happy with it.
A 4,000×3,000 photo resized to 1,200×900 - the same 4:3 proportions, computed live from your own image.
Frequently asked questions
Is my photo sent anywhere?
No. Your image is decoded, resized, and re-encoded entirely on your device using your browser’s own canvas - nothing is sent to a server. Turn off your Wi-Fi after the page loads and it still works. This page loads 11KB of JavaScript, gzipped - about what your browser’s network tab will show for this page’s own scripts.
What does “lock aspect ratio” do?
With it on, changing the width automatically recalculates the height (and vice versa) to match your original photo’s proportions, so the result never looks stretched or squashed. Turn it off to set an exact width and height independently - useful for a fixed-size upload requirement, at the cost of possible distortion if the new proportions differ a lot from the original.
JPG, PNG, or WebP - which output format should I choose?
“Keep original” re-encodes into the same format you dropped in, which is the safest default. JPG is the smallest choice for an ordinary photo but discards fine detail at lower quality settings. PNG is lossless - no quality slider needed - but produces a much larger file for a photo, better suited to screenshots or images with transparency. WebP typically beats JPG at the same visual quality and, unlike JPG, supports transparency too - the best choice when you know the place you’re using the image supports it.
What does the quality slider actually control?
For JPG and WebP (both lossy formats), quality controls how much detail is thrown away to shrink the file - higher keeps more detail and produces a larger file, lower discards more and produces a smaller one. It has no effect on PNG, which is always lossless, so the slider hides itself when PNG is selected rather than showing a control that would do nothing.
Is there a size or dimension limit?
Each image is capped at 20MB, and width/height are each capped at 8,000 pixels - generous for any real camera photo (even a 61-megapixel photo tops out around 9,504×6,336, and this tool only ever shrinks or holds steady, never enlarges past your original). The caps exist so a mistyped dimension can’t try to allocate a canvas large enough to freeze your browser tab.
Does resizing reduce image quality?
Shrinking a photo (fewer pixels) is effectively lossless in the sense that nothing is guessed or invented - you’re just keeping fewer of the original pixels, resampled smoothly. The lossy part, if any, comes from the output format and quality setting you choose afterward, not from the resize itself. This tool never enlarges an image past its original dimensions, since upscaling only stretches existing pixels rather than adding real detail.
Files are processed locally in your browser and never uploaded. Read more on the privacy page.