About ResizePicture
A tool people use for ninety seconds in the middle of doing something else. That constraint decided nearly everything about it.
One job
ResizePicture does one thing: it takes a picture and two numbers and gives you a file with exactly those dimensions. It is not an editor with a resize panel in it. There is no crop rectangle, no filter shelf, no folder mode and no account. The whole product is two fields, a chain between them, three ways of handling a shape mismatch and a download button that tells you the size of the file before you press it.
That narrowness is the design. A resizer is a thing people use for ninety seconds in the middle of doing something else, usually because a form or an editor or a colleague has given them a specification. Ninety seconds is not enough time to learn an interface, so the interface has to be over before it starts.
How it is built
The site is a set of static files. There is no server behind it, no database, no API and nowhere for a picture to go. Opening a file hands it to the browser's own decoder; the resampling runs in a worker thread inside the tab so the page stays responsive on a large photograph; the encoding uses the encoder that is already in your browser. The download link points at memory in this tab and is thrown away when you close it.
One consequence is worth naming: because everything happens locally, the site can never fix a picture your browser cannot read. HEIC needs a decoder no browser has, which this site loads on demand rather than up front. A corrupt JPG is a corrupt JPG. Anything a server-side tool could brute-force with a different library is out of reach here, and the trade for that is that no picture of yours is ever in anybody else's log file.
What it deliberately does not do
Almost every feature request this kind of tool attracts is really a request for a different tool, and building them all produces something that does none of them well. So:
- No percentages, factors, DPI, centimetres or inches. Those are measurement questions and they belong with a tool built around measurement.
- No detail reconstruction on a small picture. Enlarging is a separate craft with separate machinery and this page will not pretend to it.
- No folder, no rule set, no naming templates, no archive of outputs. That is a pipeline, and a pipeline is a different shape of software from a form.
- No crop rectangle. Cover centre-crops as arithmetic through a nine-point anchor, and never opens a handle.
- No bars added to make a picture fill a square. That adds pixels that were never photographed.
- No target in kilobytes. Pixels and bytes are two measurements and this page owns the first one.
Honesty about limits
Making a picture smaller throws pixels away. We choose the order of operations that throws away the least, and there is no setting on this page that gets them back — a 4000 px photo resized to 800 and then back to 4000 is not the photo you started with.
The second limit is quieter and catches people out more often: the working space here is 8-bit sRGB, so a photograph in a wider colour space comes back flattened. If you are working to a colour-managed print process, that flattening is a real cost and you should know about it before you save rather than after.
Money
Advertising is how this is meant to pay for itself: Google AdSense, one unit on a tool page sitting below everything you came for, three across a guide. None of it runs today — the account has not been approved, the code is switched off, and these pages carry neither an ad nor a gap held open for one. When it is turned on, each unit takes its height before it loads so nothing beneath it jumps. There is no paid tier, nothing is held back, and no feature is worse than it could be in order to sell you a better one.