Free Image Resizer
Resize images by dimensions or percentage. Maintain aspect ratio, choose output format, no quality loss.
Drop files here, or click to browse
JPG, PNG, WebP, AVIF, GIF, HEIC, HEIF Β· processed on your device
or press Ctrl+V to paste from your clipboard
You can drop multiple files at once
Your files never leave your device. All processing happens locally in your browser.
Optimize for your platform
How It Works
Resizing happens entirely in your browser using the Canvas API β the same rendering engine built into Chrome, Firefox, and Safari. Your image is drawn onto an offscreen canvas at the new dimensions and re-encoded locally; nothing leaves your device.
- 1Image decoded by the browserWhen you drop or select a file, the browser decodes the image (JPEG, PNG, WebP, AVIF, or GIF) into raw pixel data via an HTMLImageElement. The original pixel dimensions are read and used to pre-populate the width and height fields.
- 2Canvas redraws at the new sizeClicking Resize sets an offscreen HTMLCanvasElement to your chosen width and height, then calls ctx.drawImage() to scale and paint every pixel into the new dimensions. For JPEG output, a white background fill is applied first so transparent regions do not become black.
- 3canvas.toBlob() encodes the outputThe browser's built-in canvas.toBlob() method encodes the pixel data to JPEG, PNG, or WebP at the quality level you set. If you specified a target file size, a 7-iteration binary search automatically adjusts the quality parameter until the output fits at or under that size.
- 4Result previewed and downloaded locallyThe encoded Blob is turned into an object URL for the preview panel β no server round-trip. Clicking download triggers a local save with a filename that includes the final pixel dimensions.
Your image is processed entirely inside your browser using the Canvas API and is never uploaded to any server.
Guide
Worked example
Press "Try a sample". It adds sample-photo.png, and the file chip shows 1600 Γ 1000. With "Lock aspect ratio" ticked, type 800 in "Width" and "Height" changes to 500. "Output format" is "Same as original" and the sample is a PNG, so press "Resize Image" and the After panel shows 800 Γ 500 with the file size in KB. The download is named sample-photo_800x500.png. Now pick the preset "IBPS / SBI signature Β· 140Γ60 Β· 10β20 KB" instead. The boxes become 140 Γ 60, the lock is turned off, "When the shape differs" is set to "Fit inside (with borders)", the format becomes JPEG, and "Min size (KB)" and "Max size (KB)" are filled with 10 and 20. The tool tries the highest JPEG quality first. If that file is under 10,240 bytes, because a 140 Γ 60 picture is tiny, it is padded to 11,264 bytes with an invisible comment, the After panel shows 11.0 KB and "β Within 10β20 KB", and a note says "The file was padded up to the minimum size. The picture itself is unchanged."
Which settings to use, and the limits
- Choose the unit before you type a size. "Unit" offers px, cm, mm and in. For cm, mm and in a "DPI" box appears (30 to 1,200, starting at 300), and the pixel size is the physical size in inches times the DPI. So 35 Γ 45 mm at 300 DPI is 413 Γ 531 px, and 4 Γ 6 in is 1,200 Γ 1,800 px. The pixels are rounded, so 413 px reads back as 34.97 mm. The DPI is saved in JPEG and PNG files, so a print shop reads the right size; with px nothing is written. Width and Height are each held to 10,000 px. "Percentage" mode has a slider from 1 to 200 percent. "Resize Image" stays disabled while Width or Height is 0.
- Lock the ratio, or choose what happens when the shape changes. With "Lock aspect ratio" ticked, changing one box sets the other, so 4000 Γ 3000 at width 1200 gives height 900. Untick it to type both sizes. Then "When the shape differs" appears with "Crop to fill", "Fit inside (with borders)" and "Stretch". With "Crop to fill" you can drag the frame on the Original preview, or use the arrow keys (Shift for bigger steps), to choose what stays in the picture; "Centre" resets it. With "Fit inside (with borders)" a "Background" menu lets you pick white, black, a custom colour or a blurred copy of the photo. Enlarging past the original shows a warning that it "can't add real detail".
- Set a file size range and let the tool choose the quality. "Max size (KB)" and "Min size (KB)" accept 1 to 102,400 and work with JPEG, WebP and AVIF; the "Quality" slider is greyed out because "Quality is chosen automatically to hit the target size." The maximum is counted as 1,000 bytes per KB and the minimum as 1,024 bytes per KB, so a file that passes here passes under either rule. If the picture cannot get under the maximum by quality alone (as low as 5 percent), the tool makes it smaller in steps, keeping its shape, until it fits or the shorter side would fall below 16 px. A file below the minimum is padded, which works for JPEG only.
- Pick the output format on purpose. "Same as original" keeps PNG as PNG, WebP as WebP and AVIF as AVIF, and turns GIF into PNG and everything else into JPEG. AVIF appears in the list only if your browser can encode it; otherwise WebP is used. Without a size range, "Quality" runs from 10 to 100 percent in steps of 5 and starts at 90. PNG is lossless, so it ignores quality and has no KB target. JPEG has no transparency, so transparent areas are filled with the "Background" colour (white on automatic); choose PNG or WebP to keep them see-through. An iPhone HEIC photo is converted to PNG when you add it, so "Same as original" gives a large PNG; choose JPEG or WebP for a smaller file.
- Start from a preset when a form or shop names the size. The "Preset" menu has five groups: "Indian exam & government forms", "Social media & profile", "Desktop wallpaper (black bars)", "Marketplace listings (white padding)" and "Print & ID sizes". A preset sets the size, the fit, the background, JPEG as the format and, for the exam ones, the KB range, for example "Passport Seva photo" at 630 Γ 810 px with a maximum of 250 KB. Changing a box or the format afterwards returns the menu to "Custom size". The exam sizes carry a note that rules change between recruitment cycles, so check your notification before you upload.
- Drop several images to use the same settings on all of them. Drop or paste more than one image, or press "Add more images" under a single one. JPEG, PNG, WebP, AVIF and GIF are accepted. A list appears with a "Resize 3 images" style button, and the files are done two at a time. Each file is named like photo_800x500.jpg, and "Download all (N)" gives a ZIP called resized-images. With "Lock aspect ratio" ticked, "Each image is fitted inside width Γ height and keeps its own shape." Rows that failed can be retried with "Retry failed (N)". An animated GIF is flattened to a single frame.
Common problems and how to fix them
- It says "Could not load this image β the file may be unsupported or corrupted."
- The browser could not decode the file as a picture. Open it in another program and save or export it again as JPEG or PNG. The tool accepts JPEG, PNG, WebP, AVIF and GIF, and iPhone HEIC photos are converted when you add them. Other types, such as BMP, TIFF or PDF, are refused when you add them. A file that is 0 bytes, which is common for a OneDrive or iCloud file that was never downloaded, is refused with its own message; download it to this device first.
- It says "Resize failed β the dimensions may be too large for this browser. Try smaller values."
- The browser could not draw or save a picture of that size. Each side can be up to 10,000 px, which is 100 million pixels for a square, and some browsers, especially on phones, cannot make a canvas that big. Lower the Width and Height, or use "Percentage". The same message appears on a row of a batch that failed; use "Retry failed (N)" after changing the size. If it happens at a normal size, try JPEG or PNG as the output format.
- It says "Could not reach the target size, even after making the picture smaller. Try a higher max KB."
- The tool already tried the lowest quality and then smaller pictures, and it stops when the shorter side would drop below 16 px. Raise "Max size (KB)", or lower the pixel size yourself first. A very detailed photo cannot reach a very small size without becoming small in pixels too.
- It says "Smaller than the minimum β this format cannot be padded; choose JPEG."
- You set "Min size (KB)" with WebP or AVIF as the format, and the file came out smaller than that. Only a JPEG can be padded to reach a minimum, by adding a comment that does not change the picture. Set "Output format" to JPEG. PNG has no KB target at all: the page says "PNG is lossless, so it has no KB target. Choose JPEG or WebP to set a file size."
- The result is smaller in pixels than the size you typed, with a note "To stay within the size limit the picture was reduced to 640Γ400 (from 800Γ500)."
- A maximum file size beats the pixel size. Quality alone could not get the file under your "Max size (KB)", so the picture was made smaller, keeping its shape. If the exact pixel size matters more, raise the maximum or choose a format that compresses better, such as WebP. If the file size matters more, accept the smaller picture. In a batch, the row says "reduced to 640Γ400" in the same way.
How it compares
"Dimensions" fits an exact size or a printed size, and "Percentage" scales every image by the same share, which is easier when images differ in size. This tool resizes, crops to a frame and sets a file size range. It does not rotate, retouch or let you choose a resampling method. Scaling uses the browser's own high-quality smoothing, so a desktop photo editor gives you more control over sharpening and resampling. It is also not a plain compressor: a max KB can reduce the pixel size as well as the quality. If you want to keep the pixel size and only shrink the file, leave the Max size (KB) box empty and lower "Quality". In exchange, nothing needs installing and the pictures are resized in your browser.
Related Tools
YouTube Thumbnail Resizer
Resize any image to YouTube's 1280Γ720 thumbnail spec, add text and a safe-zone guide, and auto-compress under 2 MB β in your browser, no upload. Free and private.
Social Media Image Resizer
Resize and crop images to the exact 2026 sizes for Instagram, YouTube, TikTok, X, Facebook, LinkedIn and Pinterest β with safe-zone guides and batch ZIP. 100% in your browser, no upload.
Image Compressor
Compress JPG, PNG, WebP, and AVIF images. See before/after comparison.