Skip to main content
L
Loopaloo
Buy Us a Coffee
All ToolsImage ProcessingAudio ProcessingVideo ProcessingDocument & TextPDF ToolsCSV & Data AnalysisConverters & EncodersWeb ToolsMath & ScienceGames
Guides & BlogAboutContact
Buy Us a Coffee
L
Loopaloo

Free online tools for developers, designers, and content creators. Your files are processed in your browser and are never uploaded - no accounts required. A few network utilities (like What's My IP and Currency Converter) call public APIs to do their job and say so on their pages.

support@loopaloo.com

Tool Categories

  • Image Tools
  • Audio Tools
  • Video Tools
  • Document & Text
  • PDF Tools
  • CSV & Data
  • Converters
  • Web Tools
  • Math & Science
  • Games

Company

  • About Us
  • Contact
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

Support

Buy Us a Coffee

© 2026 Loopaloo. All rights reserved. Built with privacy in mind.

Privacy|Terms|Disclaimer
  1. Home
  2. Image Processing
  3. Image Resizer
Add to favorites

Image Resizer

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.

Edits stay in your browserMore image processingJump to full guide

Related reading

  • Image Background Removal: Techniques and Best Practices12 min read
  • Complete Guide to Image Compression: JPEG vs PNG vs WebP11 min read

Initializing in your browser…

You might also like

Image Upscaler

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.

Image Compressor

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.

Image Filters

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.

Image Resizer: a worked example

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
What Image Resizer produces

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.

About the Image Resizer

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.

How to use

  1. 1Upload an image, or several in batch mode
  2. 2Choose a preset or type the dimensions you want
  3. 3Pick a resampling filter: Lanczos 3 for a photograph, nearest neighbour for pixel art
  4. 4Turn on light averaging if the picture has fine detail and you want it to keep its brightness
  5. 5Check the output geometry and the measured light, then download

Where this helps

  • Shrinking a detailed photograph

    Turn on light averaging: a picture full of fine texture keeps its brightness instead of darkening by up to a stop.

  • Pixel art

    Nearest neighbour, which invents no colour and keeps every edge hard.

  • A social crop

    Fill mode with an anchor, and the page tells you what fraction of the picture was cut away.

  • Hitting a file size

    The estimate is the real encoded size, so the number moves with the quality slider honestly.

Key features

  • Six named filters: Lanczos 3, Lanczos 2, Mitchell, Catmull-Rom, bilinear, box and nearest neighbour
  • Each checked against Pillow's implementation of the same filter, and closest to its own name
  • Averaging in linear light as an option, with the difference measured in stops and L* units
  • The average light of the pixels reported before and after
  • Exact geometry with fit, fill and exact modes, and what each one did stated
  • A crop anchor for fill, with the percentage of the source discarded
  • Alpha premultiplied before filtering, so a cut-out gets no halo
  • The output size measured by encoding the real output, not extrapolated from a sample
  • Presets for social, web, print and device sizes, plus your own
  • Batch mode with a ZIP

How it works

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.

Frequently asked questions

Which filter should I use?

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.

What does "average the light" mean?

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.

Why is it off by default then?

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.

Does the browser not already do this properly?

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.

Why is my output not exactly the size I typed?

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.

Related tools and how they differ

  • Image Cropper: When the job is choosing a region rather than changing the size.

Further reading

  • Image Background Removal: Techniques and Best Practices12 min read
  • Complete Guide to Image Compression: JPEG vs PNG vs WebP11 min read

Private by design

Images are decoded, edited, and exported entirely inside this browser tab. No originals, exports, or metadata are uploaded.