Resize with the filter named (Lanczos, Mitchell, Catmull-Rom, bilinear, box or nearest) and the option to average LIGHT rather than stored bytes, which is worth 1.24 stops on a detailed picture.
Initializing in your browser…
Enlarge with the filter named and cited, and the alignment measured: six published kernels matching Pillow to within half a level, premultiplied alpha, and an unsharp mask whose colour space is a choice.
Compress to a quality or to a file size, with the size shown being the encoded file to the byte and the cost measured on the pixels: SSIM, PSNR, the worst channel and the share of pixels changed.
The seven transforms Filter Effects Module 1 defines, computed from its published matrices and checked against the browser's own implementation, plus exposure in real stops and seeded grain.
A 512 by 512 one-pixel black and white checkerboard, reduced to 128 by 128. Its average light is exactly half of white, so the right answer is known before the tool runs.
Input
checkerboard.png 512×512 · reduce to 128×128 · box filter
A flat field, at one of two values
averaging the stored bytes byte 128 Y 0.216 L* 53.2 averaging the light byte 188 Y 0.500 L* 76.1 the source Y 0.500 L* 76.1
Byte 127 carries 21.2 percent of the light of byte 255, not 50 percent, so averaging the numbers under-counts the bright pixels. The difference is 1.24 stops and 22.9 L* units, which is why a picture full of fine detail gets visibly darker when it is made smaller. Both results are flat, so this is not aliasing: it is the wrong average.
Resize an image with the filter named and the colour space chosen. Six named resampling filters, each checked against a reference implementation, plus the option to average light rather than stored bytes, which is what stops a detailed picture getting darker as it shrinks.
Turn on light averaging: a picture full of fine texture keeps its brightness instead of darkening by up to a stop.
Nearest neighbour, which invents no colour and keeps every edge hard.
Fill mode with an anchor, and the page tells you what fraction of the picture was cut away.
The estimate is the real encoded size, so the number moves with the quality slider honestly.
Two things decide what a resize looks like, and almost no tool states either.
THE FILTER. A reduction is an average over a neighbourhood, and which neighbourhood and with what weights is the filter. Six are offered here, each with the paper or definition it comes from: Lanczos 3 and Lanczos 2 (the windowed sinc of Duchon, 1979), Mitchell (Mitchell and Netravali, SIGGRAPH 1988, at B = C = 1/3, which is the compromise that paper recommends), Catmull-Rom (the same cubic at B = 0, C = 0.5, which interpolates), bilinear, box, and nearest neighbour. Every one of them is checked against Pillow's implementation of the same filter and is the closest match to its own name.
THE SPACE, and this is the one that is usually wrong. The bytes in an image file are gamma-encoded: byte 127 is not half the light of byte 255, it is 0.212 of it (IEC 61966-2-1). Averaging the BYTES therefore does not average the LIGHT. Reducing a black and white checkerboard, whose average light is exactly half of white, gives byte 128 in every mainstream tool, which is a relative luminance of 0.216. The byte that carries half the light is 188. Measured on a 512 pixel checkerboard reduced by four, that is 1.24 stops and 22.9 L* units of lightness lost, and it is why a detailed photograph gets darker as it is made smaller. The option to average the light instead is offered, off by default because it is what every other tool does, and the page measures the average light of the pixels before and after so the difference is a number rather than a claim.
One thing this pass expected to find and did not: a browser canvas is NOT an under-filtered bilinear. Measured, Chrome's single-step downscale is a box filter over the source rectangle, and a one-pixel checkerboard reduced by four came out perfectly flat, with a standard deviation of exactly zero and no moire at all. That prediction is recorded as wrong rather than quietly dropped.
The geometry is exact and stated. Fit keeps the source aspect ratio and gives the largest whole-pixel box inside the target. Fill crops to the target ratio, anchored where you choose, and says what percentage of the source was thrown away. Exact gives the size asked for whatever it does to the shape, and says so: a 1001 by 667 source at 500 by 333 is 1.50075 to 1 becoming 1.501502 to 1, which whole pixels cannot express, and the page prints both. Alpha is premultiplied before filtering and divided out afterwards, so a cut-out does not pick up a halo from the transparency around it.
The file size shown before you download is the size of the file you get, exactly, because it comes from encoding the real output rather than from extrapolating a 400 pixel sample by the square root of the area ratio. Batch mode applies the same settings to many files and packages them as a ZIP. Everything runs in the browser.
Lanczos 3 for a photograph, which is the sharpest of these. Mitchell if the ringing bothers you, which shows as a faint light and dark band beside a hard edge. Nearest neighbour for pixel art and for nothing else.
The numbers in an image file are not proportional to light: byte 127 carries 21.2 percent of the light of byte 255, not 50 percent. Averaging the numbers therefore under-counts the bright pixels. On a black and white checkerboard, whose true average is half of full light, averaging the numbers gives a result carrying 21.6 percent of the light, which is 1.24 stops too dark. Averaging the light gives the right answer.
Because every other tool averages the numbers, and an image that does not match what everything else produces is its own kind of surprise. The choice is offered with the measurement beside it.
A browser canvas does a box filter over the source rectangle, which is better than the bilinear this tool expected to find and was measured rather than assumed: a checkerboard reduced by four came out perfectly flat. What a canvas cannot do is offer a filter choice or work in linear light.
In fit mode it is the largest box with the source aspect ratio that fits inside what you asked for, and the page says the size it chose. Exact mode gives what you typed and tells you if that changes the shape.
Images are decoded, edited, and exported entirely inside this browser tab. No originals, exports, or metadata are uploaded.