Resize Image to Exact Size
Resize to exact pixels, to a file size limit, or to a platform preset - in your browser, with EXIF rotation handled.
Your image is read and resized inside this page. It is never uploaded, which is why there is no size limit and no queue. Re-encoding also drops the EXIF metadata, so the camera model, the timestamp and any GPS coordinates in the original are not in the copy you download.
What this tool does
Choose an image and resize it three ways: to exact pixel dimensions, to a target file size such as 200 KB by reducing quality until it fits, or to a platform preset such as 1200 x 630. The file is read and processed inside this page, so nothing is uploaded and there is no size limit.
Resizes an image to exact dimensions, to a target file size in KB or MB, or to a preset for a social or link-preview slot.
Reads the EXIF orientation tag first and rotates the photo upright before processing, so it does not come out sideways.
Copies the result straight to the clipboard as PNG with one click, re-encoding on the fly even when JPEG or WebP is the chosen download format, because the clipboard image API only accepts PNG.
Keeps the untouched original file for the Before side of the comparison toggle, rather than re-encoding it, so what you see there is genuinely unprocessed.
How to use it
- Choose an image, or drag one straight onto the drop panel.
- Pick a mode: dimensions, file size, or a platform preset.
- Tap a quick preset - 50%, 1920 wide, 500 KB, a platform size - or set the numbers by hand. Proportions are locked by default, so one dimension follows the other.
- Compare the resized image against the original with the Resized / Original toggle, and check the saving bar.
- Choose an output format, then download, or copy the image straight to the clipboard.
Why use this resizer
Forms and platforms demand exact pixel sizes or a maximum file size, and trial and error with an editor is slow. Setting the target and letting the tool reach it saves repeated exports.
Why we built it
We built this resizer to offer a target file size mode, because forms ask for "under 200 KB" far more often than for a quality setting. Compress further with the image compressor and calculate print sizes with the image size calculator.
Handy alongside this: the Low Quality Image Maker, the Passport Photo Maker and the Signature Extractor.
Who this tool is for
- People filling in forms with exact pixel or file-size limits
- Sellers and bloggers preparing images
- Students and applicants uploading documents
When to use it
- Meeting an upload limit for a form or application.
- Setting an exact pixel size for a profile or banner.
- Using a platform preset for a link preview.
- Fixing a photo that appears sideways.
Resizing to a file size instead of a size in pixels
Upload forms almost always impose a byte limit, not a pixel limit.
A passport application, a job portal or a school system will say "maximum 200 KB". That is a limit on the file, not on the dimensions, and the two are only loosely related - a 600 x 600 photograph of a busy scene can easily be larger than a 1200 x 1200 photograph of a plain wall.
The usual approach is to drag a quality slider, export, check the file size, and repeat. This tool does that search for you: it encodes the image at a series of quality settings, halving the range each time, until it finds the highest quality that still fits your target. Then it tells you which quality it settled on.
If even the lowest usable quality is still too large, quality has run out of room and the only remaining lever is pixel count. Rather than telling you to do something that mode gives you no way to do, the tool steps the dimensions down until the target is reachable, and then states what it settled on. Turn that off and it will say what it would have done instead.
PNG has no quality setting, so a byte target cannot be reached by re-encoding. Choose JPEG or WebP for file-size mode.
The rotation problem
The single most common bug in home-made image tools.
A phone camera sensor has a fixed orientation. When you hold the phone sideways, the photo is still recorded in the sensor orientation, and a small tag called EXIF Orientation is written into the file saying how it should be rotated for display.
Browsers honour that tag when they render an image on a page. Drawing that same image onto a canvas for processing has historically not honoured it. The result is a tool where the preview looks correct and the download is rotated ninety degrees - a bug that survives casual testing, because it only appears with photos taken in a particular orientation.
This tool reads the tag directly from the JPEG before doing anything else, applies the matching transform, and then treats the image as upright. When a correction has been made, it says which one.
| Value | Meaning | Swaps width and height |
|---|---|---|
| 1 | Normal | No |
| 2 | Mirrored horizontally | No |
| 3 | Rotated 180 degrees | No |
| 4 | Flipped vertically | No |
| 5 | Transposed | Yes |
| 6 | Rotated 90 degrees clockwise | Yes |
| 7 | Transverse | Yes |
| 8 | Rotated 90 degrees anticlockwise | Yes |
Values 5 to 8 involve a quarter turn, which means width and height swap. Handling the rotation but not the swap gives a canvas of the wrong shape with the image cropped - the second most common version of the same bug.
Formats
| Format | Best for | Watch out for |
|---|---|---|
| JPEG | Photographs, anything with gradients | No transparency; every re-save loses a little detail |
| PNG | Flat colour, screenshots, transparency | Much larger for photographs; no quality control |
| WebP | Both, at smaller sizes than either | Older desktop software may not open it |
For a photograph going into a form, JPEG is almost always right. For a logo, a screenshot, or anything with a transparent background, PNG. WebP is smaller than both and is supported by every current browser, but an older desktop application may refuse it.
Re-saving a JPEG always loses a little detail, because the compression is lossy and each pass discards information the previous pass kept. Resize once from the original rather than repeatedly from an already-resized copy.
Platform presets
Each preset crops to fill rather than stretching to fit. If the source is a portrait photograph and the target is a wide banner, something has to give: stretching keeps everything in frame but makes faces visibly wrong, while cropping keeps the proportions honest and loses the edges. Cropping is the lesser problem, and it is what these presets do.
Platform dimensions change periodically. The presets here are the long-standing common sizes rather than a claim about what any particular service requires this month - check the platform itself if it matters.
Copying instead of downloading
The clipboard button does not hand over the file you are about to download.
Every browser that lets a web page write an image to the clipboard at all accepts PNG only - there is no way to place a JPEG or WebP blob on the clipboard directly. So when you press Copy image, the canvas behind the preview is re-encoded to PNG on the spot and that PNG is what lands in the clipboard, regardless of which format is selected in the Output format field for the download button next to it.
That re-encode happens from the same canvas the download is built from, so the pixels are identical - only the container format differs, and PNG is lossless, so nothing is lost in the swap. If the browser does not support clipboard image writes at all, or the user has blocked the permission, the button reports that on itself rather than failing silently.
What you give it, and what you get back
| Item | Details |
|---|---|
| Input | One image. |
| Targets | Exact pixels, a file size in KB or MB, or a platform preset. |
| Output | The resized image, with orientation corrected. |
Issues you may run into
| What you see | Why it happens | What to do |
|---|---|---|
| Target size is not reached | The image is very detailed and the target very small. | Choose a larger target or smaller dimensions. |
| Photo looks stretched | Aspect ratio differs from the target. | Crop first or keep proportions. |
| Batch is needed | One image at a time. | Repeat for each image. |
Assumptions and limitations
- One image at a time. There is no batch mode.
- Automatic dimension reduction steps down in fixed increments and stops after six attempts, so an extremely small target on a very detailed image may still be out of reach.
- Presets crop from the centre. There is no way to choose which part of the image is kept.
- Very large images are reduced to 8000 pixels on the longest edge before processing, to keep the page responsive.
- EXIF orientation is read from JPEG files only. Other formats do not carry the tag.
- All other EXIF data is discarded on export. That is usually desirable, but it means camera and location metadata will not survive.
- No CMYK output. Everything here is RGB.
Frequently asked questions
How do I resize an image to an exact file size?
Switch to file-size mode and type the limit, for example 200 KB. The image is encoded at a series of quality settings, halving the range each time, until the highest quality that fits your target is found. The quality it settled on is then shown.
Why does my photo come out rotated?
Because of the EXIF orientation tag. Phone photos are stored in the sensor orientation with a tag saying how to rotate them; browsers apply it when displaying, but canvas processing historically does not. This tool reads the tag first and rotates the image upright before doing anything else.
Does resizing reduce quality?
Making an image smaller discards pixels, which is unavoidable, but a well-resampled reduction looks fine. Making an image larger cannot invent detail and will look soft. Re-saving as JPEG also loses a little each time, so always resize from the original rather than from a previous export.
Should I use JPEG, PNG or WebP?
JPEG for photographs, PNG for flat colour and anything needing transparency, WebP for smaller files where you know the destination supports it. For a photo going into an upload form, JPEG is almost always the right answer.
Why can it not reach my target file size?
Because the image has more detail than will fit in that many bytes at any usable quality. By default the tool then steps the dimensions down until the target is reachable and tells you the size it settled on. If you have turned that off, reduce the width and height yourself - halving both cuts the pixel count to a quarter and usually solves it immediately.
Is my image uploaded anywhere?
No. The file is read from your device and processed inside this page. Nothing is transmitted, which is also why there is no file size limit and no queue.
What size should a link preview image be?
1200 x 630 is the long-standing common size for Open Graph link previews and is included as a preset. Platforms change their requirements periodically, so check the destination if it matters.
Can I copy the result instead of downloading it, and is the Before preview genuine?
Yes to both. Copy image writes the resized picture to your clipboard - browsers that support clipboard images at all only accept PNG, so it's re-encoded to PNG on the spot even if JPEG or WebP is selected for the download, though the pixels are identical and only the container format changes. The Before side of the comparison toggle is the untouched file you chose, not a re-encoded copy, so it's a genuine before rather than a re-rendered approximation.
Further reading
What size are Twitch and Discord emotes, really — The exact pixel sizes for Twitch and Discord emotes - including the one number almost every guide gets wrong. Verified against the platforms themselves.