Image Resizer
Choose an image, then resize it to an exact width and height or by percentage. The image is processed entirely in your browser with the Canvas API — it is never uploaded to a server.
Resize an image without uploading it anywhere
This tool loads your image into an <img>, reads
its real pixel dimensions from naturalWidth/ naturalHeight, then draws it onto a <canvas> sized to whatever width and height you
choose using ctx.drawImage(img, 0, 0, newW, newH). The
canvas handles the resampling, and canvas.toBlob()
turns the result into a downloadable file — every step runs inside
your browser tab, so a private photo never has to leave your
device just to be resized.
Worked example
Say your original photo is 1200 × 800 px. Type 50 into the percentage field and both fields update instantly to 600 × 400 px — exactly half in each direction, since percentage scaling applies the same factor to both dimensions. Prefer an exact size instead? Uncheck nothing — with "Lock aspect ratio" on, typing 600 into the width field alone computes a height of 400 automatically (600 × 800/1200 = 400), so the resized image keeps its original proportions without any manual math.
Frequently asked questions
Does the image ever get uploaded anywhere?
No. The file is read locally with the browser's FileReader API, drawn to an in-page <canvas> element, and the resized version is produced with canvas.toBlob() — all of that happens on your device. Nothing is sent to a server, so there's no upload step, no wait, and nothing to worry about for private photos.
Why do width and height change together?
When "Lock aspect ratio" is checked, editing one dimension recalculates the other using the original image's ratio, so the resized image can't come out stretched or squashed. Uncheck it if you deliberately want a different ratio — for example to force a square thumbnail from a wide photo.
What's the difference between exact pixels and the percentage field?
They both drive the same resize, just from different starting points. Exact pixels let you target a specific size, like 800×600 for a listing photo. The percentage field scales both dimensions by the same factor in one step — 50% instantly halves both width and height — which is faster when you don't care about the exact final pixel count.
Will resizing reduce image quality?
Shrinking an image (downscaling) generally looks fine — the browser's canvas renderer smooths pixels as it resamples. Enlarging an image (upscaling) can't invent detail that wasn't there, so very small source photos will look softer when blown up. For best results, start from the largest original you have.