Resize an image to exact dimensions
Enter target pixels (600 x 600), a percentage, or just a width or height. Choose whether the result must fit, fill or stretch — the output contract is explicit, never guessed.
"Fit" may produce e.g. 600×450 inside a 600×600 request. "Fill" guarantees exactly 600×600 by cropping edges.
Last reviewed . Runs locally — your images never leave your device.
How it works
- Drop your image — original dimensions are detected automatically.
- Type the output size in pixels or percent. Aspect ratio stays locked unless you unlock it.
- Choose the output contract: fit within (letterbox-free, keeps ratio), fill by cropping, or stretch to exactly the numbers you typed.
- Download the resized image with a before/after comparison.
Common requirements
- 600 × 600 — Product and portfolio listings that demand a square.
- 1080 × 1080 — Instagram square post — the most requested social dimension.
- 1280 × 720 — Thumbnails, slides and 720p video frames.
- 1920 × 1080 — Full HD screens, wallpapers and video frames.
- 300 × 300 — Avatars and small profile pictures.
- By percentage — When a guideline says "halve it" or "scale to 50%" rather than giving pixels.
How to resize an image to exact pixels (600×600, 1080×1080, 1920×1080)
Enter the two numbers your destination asks for. "Resize image to 600x600" can mean three different things — fit, fill or stretch — so the tool makes you choose instead of guessing. Fit keeps the whole photo inside the box, fill covers the box by cropping, stretch forces both numbers exactly as typed.
Know only one side? Type it and leave the other field empty: the aspect ratio lock calculates the missing dimension. Percentage mode is there when a destination states a scale factor rather than pixels — resize image by percentage to halve (50%) or double (200%) a file.
Upscaling is allowed but labelled, because a bigger canvas adds no detail. If the goal is to resize photo without losing quality, downscale from the largest original you have and let high-quality smoothing do the work — that is the default path here.
Resizing changes the canvas, never the framing. To change what is inside the frame, crop instead — the related links below keep your numbers.
Supported formats
JPEG, PNG, WebP, AVIF and GIF (first frame).
Best with files up to 50 MB. Hard safety limit 200 MB.
Privacy
Everything happens in your browser: the image is decoded, transformed and encoded locally. Nothing is uploaded, and no filename, pixel data or metadata is sent anywhere. Read more on the privacy page.
Technical methodology
- Chromium-class browsers decode with high-quality smoothing by default; the tool additionally follows the browser image-smoothing settings per resize step to avoid double-scaling artifacts.
- Downscaling is performed in a single high-quality draw call. Upscaling is allowed but clearly labeled — enlarging cannot create detail.
- When "fill" mode is selected, the crop region is centered by default; you can fine-tune the position in the crop tool, linked here for the precision cases.
- Transparency is preserved for PNG and WebP outputs. GIF animation is not preserved (first frame).
Known limitations
- Upscaling produces a larger file, not more detail.
- Resizing does not change DPI metadata — see the DPI tool for print size.
- Animated formats are processed as their first frame.
Go deeper: image size vs dimensions vs DPI
Frequently asked questions
What does "exactly 600 x 600" mean here?
You choose one of three contracts: fit within 600x600 (keeps the whole image, output may be 600x450), fill/crop to 600x600 (keeps ratio, crops edges), or stretch to exactly 600x600 (distorts if the ratio differs). The contract you pick is what you get.
Does resizing reduce quality?
Downscaling with high-quality smoothing looks clean. Upscaling adds pixels but no real detail, so avoid it for print.
Is the aspect ratio preserved?
Yes, by default. The ratio lock keeps width and height proportional; unlock it deliberately if your destination requires a different shape.
Does this upload my photo?
No. Decoding, scaling and encoding all happen on your device.