Image Resizer changes pixel dimensions using the Canvas 2D API. Each image is decoded into an HTMLImageElement, drawn into a fresh Canvas at the target width and height, and re-encoded with toBlob in your chosen format. The Canvas drawImage call uses the browser's native bilinear interpolation for downscaling and bicubic-style smoothing for moderate upscaling, which is the same path used by macOS Preview and Windows Photos.
Five resize modes cover what people actually need. Exact accepts width and height directly, with an aspect-ratio lock that recalculates the other axis as you type. Width-only and Height-only resize one axis and let the other scale proportionally. Percentage scales both axes uniformly. Cover crops to fill the exact target dimensions (the same algorithm CSS object-fit: cover uses) with a draggable preview so you choose what to keep.
Preset libraries cover the dimensions different platforms actually want. Social media presets ship with 14 entries for Instagram feed and stories, Facebook posts, X header and post images, LinkedIn banner, TikTok vertical, YouTube thumbnail, and Pinterest pin sizes. Print presets target A4, US Letter, A5, postcard, and business card sizes at 300 dpi, the resolution every commercial printer in the world expects.
Format conversion happens during resize at no extra cost. Pick JPEG, PNG, WebP, or AVIF as the output and the Canvas re-encode handles both the resize and the format change in a single pass — no need to chain Image Resizer into Image Converter. Quality controls apply to the lossy formats; PNG is lossless and ignores the slider.
Up-scaling with Canvas interpolation cannot invent detail; it merely smooths what is already there. For genuine super-resolution upscaling, you need a model like Real-ESRGAN. For everyday work — making a 4K phone photo fit a 1200-pixel blog hero — bilinear downscaling is exactly the right tool and produces sharp results.
Batch resize is supported by queueing files through the same pipeline sequentially. Up to a few dozen images can be processed in one go on desktop browsers; mobile browsers cap at fewer because of memory pressure. Outputs can be downloaded individually or as a single ZIP.
Everything happens locally. Source files live as object URLs in your tab, the Canvas exists only in the page, and the encoded Blob is downloaded directly. There is no server-side resizing service behind the scenes, which is why the tool can promise that your images never leave your device.