About this site

ExpandPictures does one narrow thing. It takes a photograph you already have, puts it in a bigger frame, and builds whatever has to go in the part the camera never saw.

The one rule

Everything on this site follows from a single sentence, and it is worth stating before anything else, because it is also the reason several obvious-looking features are missing.

Nothing here resamples the original photograph.

Your picture is copied into a larger grid at its own size, on whole-number coordinates, with interpolation switched off for that one draw. It is not scaled up, scaled down, sharpened or re-encoded on the way in. Whatever the camera recorded is what comes out the other end, surrounded by more canvas than it started with.

That rule is what separates this from the half-dozen other things that sound like it. Making a photo physically larger is a different operation with different mathematics behind it. Reaching a shape by cutting is the opposite operation. Putting a measured frame around a picture for presentation is a third. All three are useful; none of them is what happens here.

Why a whole site for it

Because the job has a specific shape and general-purpose editors handle it badly. Open a photo in most software, ask for a wider canvas, and you get an empty region with a checkerboard in it and no opinion about what belongs there. The interesting part of this problem is not growing the rectangle — that takes one line of code — it is deciding what the new region should contain, and being honest about which of those decisions holds up.

So the fills are the product. Seven of them are arithmetic on pixels you already have: reflected, smeared, extended, blurred, flattened, swept, or left empty. An eighth hands it to a model. Each one is written up beside the control that selects it, with the subject matter it flatters and the subject matter it wrecks, because a fill chosen blind is a coin toss and a fill chosen knowingly is a decision.

What we got wrong about the model

For most of this site’s life these paragraphs said there was no generated fill here and gave reasons: several hundred megabytes, graphics support a large share of phones do not have, the better part of a minute for one pass. Those were estimates nobody here had measured, and every one of them was wrong by a wide margin. The model now on the edge-continuation page is 26,639,447 bytes, MIT-licensed (code and weights), runs on plain WebAssembly with no graphics requirement at all, and takes about two and a half seconds for each 512-pixel square it fills.

The other half of what those paragraphs said was right and still is. It fails visibly on straight lines, repeating patterns, lettering and faces, and it degrades as the new region grows against the photograph — so it is offered only up to twice the area, with the numbers on screen when it is not, and it is never the default. Nothing is downloaded until somebody presses a button that names the size. The seven fills that take milliseconds on every device are still what this tool is.

The correction is recorded rather than quietly swept up because the wrong version was stated confidently, in three places, for months, and a site that retracts an estimate without saying it was an estimate has learned nothing.

Who runs it

ExpandPictures is a small, independent site built around one job rather than a menu of them. It is free, carries no advertising, and has no account, no queue and no storage. There is no server behind the page that could hold a photograph even if somebody asked it to. Questions and corrections reach the people who run it through the contact page.

A tall portrait grown into a wide banner with blurred edges — the original photo is untouched on the right.
Made here A tall portrait, grown into a wide banner — nothing cropped.