Guide

Grow the canvas, not the photo

Both of them end with a bigger file. Only one of them leaves every pixel you photographed exactly where it was, and the difference decides which tool you should be holding.

Two things that sound identical

Imagine a photograph that is 1,000 pixels across, and you need 2,000. There are two ways to get there, and they have almost nothing to do with each other.

The first way asks what should go between the pixels you have. Every value in the original is spread over twice the distance, and the gaps are filled by working out what probably belonged there — an average of the neighbours, weighted by some scheme or other. Every pixel in the result is a calculation. Not one of them is unmodified.

The second way asks what should go beside the pixels you have. The original thousand columns are copied across unchanged, landing on whole-number positions, and another thousand columns are built around them. The picture is the same picture; there is simply more canvas than there was.

The first operation touches every pixel in your photograph. The second touches none of them.

What each one costs

Spreading a picture over more area has a price that shows up under magnification. Anything with a hard edge in it — a horizon, a railing, lettering, the line where a cheek meets the background — gets a soft ramp where it used to have a step, because the invented values sit partway between the two sides. Fine texture flattens. Compression artefacts, which were invisible at the original size, get spread out until they are visible as blotches. None of this is a flaw in the software; it is what happens when there is no information at a scale and something has to be put there anyway.

Adding canvas has a different price, and it lands somewhere else entirely. Your photograph is perfect — bit for bit what it was — but it is now a smaller part of what somebody sees. The new region is filled with something built from the edges, and how convincing that is depends entirely on what was at those edges. Nobody will ever find a flaw in the photograph. They may well find one in the surroundings.

Same starting picture, same finishing width, different operations
Stretched to 2,000Canvas grown to 2,000
Original pixels kept01,000,000
Pixels calculatedall of themthe new columns only
Where a flaw would showin the subjectaround the subject
Reversiblenoyes — trim the new columns

That last row is the one people notice least and value most afterwards. Cut the added region off a canvas-grown file and you are back to your photograph, untouched. There is no equivalent for a stretched one: the original values are gone, replaced by averages, and shrinking it again gives you a softer copy rather than the file you started with.

Which one did you actually want

Ask what the requirement is written in. A requirement expressed as a shape — sixteen by nine, square, the proportion a banner slot wants — is nearly always a canvas job, because what is wrong is the frame rather than the picture. A requirement expressed as two numbers of pixels, or as a physical size on paper, is a different question: it is about how much picture there is, and no amount of new canvas answers it.

If you came here because a form asked for an exact width and height, what you want is a resize, and resizepicture.com is built for exactly that. It is a genuinely different operation and a tool that does it properly will serve you better than one that treats it as a side effect.

And there is a third case worth naming, because it is the one that goes wrong quietly: you need a shape, and you also need the file to be no larger than some limit. Do the shape first. A canvas grown to a proportion can always be taken down to a size afterwards, and the new region — soft, low in detail — is the part that compresses best. Doing it the other way round means the shrinking happened to a photograph and the expanding happened to the result of that, which is one more round of averaging than anybody needed.

Where the line sits on this site

Everything on ExpandPictures is the second operation, without exception. There is no scale factor anywhere in the rail, no field for a target width, and no setting that would cause your photograph to be drawn at any size other than the one it arrived at. When the tool draws your picture into the canvas it does it once, at integer coordinates, with smoothing turned off for that single draw — which is the code-level version of the promise, and the reason the promise is checkable rather than decorative.

The only figure worth watching while you work is the percentage under the canvas: how much of the finished frame was built here rather than photographed. Below a third, almost anything works. Past two thirds, the fill is carrying the picture, and the choice of fill stops being cosmetic.

Put it into practice