Image Resizer guide
Resize photos and graphics for websites, email, social posts, and upload limits. Set exact pixels or a percentage, keep the aspect ratio locked, choose the output format and quality, and see the new file size before you download.
Resizing vs. compressing
People use the two words interchangeably, but they are different levers. Resizing changes the pixel dimensions: a 4000 × 3000 photo becomes 2000 × 1500. Compressing changes how efficiently those pixels are stored: the same 2000 × 1500 image saved as JPEG at 85% quality instead of 100%. For shrinking file size, resizing is usually the bigger win, because halving both dimensions cuts the pixel count to a quarter.
This tool does both in one pass. Set the dimensions, pick a format and quality, and the status line shows the old and new size side by side so you can tune the trade-off before downloading.
How it works under the hood
Your browser decodes the image, then the tool draws it onto an HTML canvas at the new width and height with high-quality smoothing. The canvas is exported with toBlob in the format you picked. Everything happens in memory on your device, which is why it works offline once the page is loaded and why there is no upload wait.
Aspect ratio lock keeps the shape: new height = new width ÷ (original width ÷ original height). Unlock it only when you deliberately want to stretch, or when you will crop afterward. When exporting to JPEG, transparent areas are filled with white, because JPEG cannot store transparency and would otherwise show them as black.
Worked example: a phone photo for a blog
Start with a 4032 × 3024 photo from a phone, about 3.5 MB as a JPEG. The blog column is 720 px wide, and you want it sharp on high-density (Retina) screens, so target 2 × 720 = 1440 px wide. With the ratio locked, height becomes 1440 ÷ (4032 ÷ 3024) = 1080 px.
That is 1,555,200 pixels instead of 12,192,768, about 13% of the original. Exported as JPEG at 82% quality, a typical photo at that size lands in the 200 to 400 KB range, roughly a tenth of the original file. Switch to WebP at the same quality and it usually gets smaller still. The exact numbers depend on the photo: detailed foliage compresses worse than a clear sky.
Picking dimensions
For the web, size images to the largest width they will actually display at, then double it for high-density screens. Beyond 2× there is little visible gain and a lot of extra weight. Common targets: 1920 or 2560 px wide for full-width heroes, about 1200 to 1600 px for content images, and 400 to 800 px for thumbnails and cards.
For social media, use the platform's native sizes so it does not recompress aggressively: 1080 px wide covers Instagram posts and stories, 1280 × 720 is the standard YouTube thumbnail, and 1200 × 630 is the usual link-preview image for Facebook, LinkedIn, and X. For email, keep images under about 600 to 800 px wide and 200 KB, since many email clients display at that width and attachments add up.
Quality settings that make sense
For JPEG and WebP, 75% to 85% is the sweet spot for photos: file sizes drop sharply and differences are hard to see at normal viewing size. Go to 90% or above for images with fine text or gradients that show banding. Below about 60%, blocky artifacts start to appear around edges.
PNG ignores the quality slider because it is lossless. That makes it the right choice for screenshots, UI mockups, logos, and diagrams with flat colors and crisp text, and a poor choice for photos, where a PNG can be several times the size of an equivalent JPEG.
Mistakes to avoid
Upscaling a small image and expecting detail: it only gets blurrier. Resizing an already heavily compressed JPEG repeatedly, which stacks artifacts; always work from the original. Uploading a 4000 px photo to a website and letting CSS shrink it, which makes visitors download pixels they never see and slows the page. And exporting photos as PNG, which balloons the file size for no visible benefit.
How we calculate: sources
Frequently asked questions
How do I resize an image without losing quality?
Downsizing always keeps good quality: you are discarding pixels you do not need. Upscaling cannot add real detail, so a 800 px photo stretched to 2400 px will look soft. Start from the largest original you have and only shrink.
What size should images be for a website?
Match the largest size they display at, times 2 for high-density screens. A full-width hero is often 1920 to 2560 px wide; an image in a 700 px blog column needs about 1400 px. Most photos land between 100 KB and 300 KB as JPEG or WebP at 75% to 85% quality.
What sizes do social platforms use?
Common targets: Instagram square posts 1080 × 1080 and portrait 1080 × 1350, Instagram and TikTok stories 1080 × 1920, YouTube thumbnails 1280 × 720, and link preview images 1200 × 630. Platforms change these, so check their help pages before a big campaign.
Should I choose JPEG, PNG, or WebP?
JPEG for photos. PNG for screenshots, logos, and anything needing transparency or sharp text. WebP for either on the web: at similar visual quality it is typically 25% to 34% smaller than JPEG, per Google's published comparisons, and all current major browsers display it.
Does resizing remove EXIF and GPS data?
Yes. The output is re-encoded from a canvas, which only contains pixels, so camera details and location data are not carried over. The image's orientation is applied before resizing, so it will not come out sideways.
Is there a size limit?
No upload limit, since nothing is uploaded. Very large images (above roughly 16,000 px on a side, or hundreds of megapixels) may exceed what a browser canvas can handle, especially on phones.
Are my images uploaded?
Everything runs in your browser. Nothing you enter is uploaded to a server or stored by us.
How do I resize an image to a specific file size, like under 1 MB?
Lower the dimensions first, then the quality. The status line shows the new file size after every change, so step down width or quality until you are under the limit. For photos, 2000 px wide at 80% JPEG quality is usually well under 1 MB.
Can I resize many images at once?
Not yet; this tool resizes one image at a time. Everything runs locally, so each resize takes only a moment.