Resize images without losing quality — Lanczos for downscale, AI for upscale
Tomoda HinataTool author & maintainerPublished Apr 26, 202610 min read
Resizing splits cleanly into two operations with very different rules. Downscaling — going smaller — is essentially lossless if you use Lanczos resampling and stay above 50% of the source resolution. Upscaling — going bigger — fundamentally cannot recover detail and should be handed to an AI super-resolution model. Mixing the two up is the most common mistake.
Tools used in this guide
Why downscaling can be effectively lossless
Downscaling discards pixels you do not need. As long as the new resolution is at least ~50% of the source on each edge AND the resampler does anti-aliasing properly, the result looks indistinguishable from the original at the displayed size. Lanczos-3 (also called Lanczos with a=3) is the gold-standard resampler for photos — it preserves edge sharpness better than bicubic without introducing the ringing artefacts of higher-order kernels. The in-browser tool uses Lanczos-3 by default.
Why upscaling with classical resamplers is doomed
Upscaling interpolates new pixels from the existing ones. Bicubic and Lanczos can only smooth, they cannot invent. Take a 256×256 image up to 1024×1024 with Lanczos and you get a 1024×1024 image that looks like a 256×256 image stretched to fill — soft edges, no recovered detail. AI super-resolution (Real-ESRGAN family) was trained specifically to invent plausible detail; for any upscale beyond 1.5×, it is the only sensible choice.
Lanczos vs bicubic — does the difference matter?
For text and graphics with sharp edges: yes, visibly. Lanczos preserves the contrast at every edge transition; bicubic softens slightly. For photos: marginally — the difference is most visible on diagonal lines and small text within the photo. The in-browser tool defaults to Lanczos because the cost difference is negligible (a few ms per megapixel) and the quality is consistently equal-or-better.
Aspect ratio: when to lock, when to unlock
Keep the lock on by default — 99% of resizes are 'shrink the longest edge to N px and adjust the other'. Unlock only when you specifically need to stretch a photo to fill a non-matching aspect (e.g., square crop without cropping → fills with stretched photo, generally a bad idea). For aspect changes, prefer cropping over stretching: stretching produces a visibly distorted face.
Batch workflow
Drop 30 photos, set the longest edge to 1920 px, click resize. Each runs through Lanczos-3 in a Web Worker; on a 12-core M2 the 30-file batch finishes in 3–5 seconds. The tool preserves EXIF by default — if privacy is the goal, run the EXIF remover before or after the resize.
Steps
About 1 minDrop the photos
Drag up to 30 JPG/PNG/HEIC/WebP files (80 MB each) onto the resize tool.
Set the target
Type the target longest edge (default 1920 px). Aspect ratio is preserved.
Pick the format
Same format as source for lossless re-save, or convert to JPG quality 90 to also drop file size.
Run and download
The Web Worker batch runs in ~3–5 s for 30 files; download as ZIP or individually.
Frequently asked questions
Will the photo lose quality if I resize down to 50%?
No, not visibly. With Lanczos-3 and a 50%+ ratio, the result is indistinguishable from a freshly-shot photo at the new resolution at typical viewing sizes.
Can I upscale a small photo to print quality?
Not with classical resampling. Use the AI upscale tool (Real-ESRGAN); for a 2× rescue it produces visually clean results, beyond 4× the artefacts dominate.
Why does Photoshop call it 'Bicubic Sharper'?
Photoshop's 'Bicubic Sharper' is bicubic followed by an unsharp mask — a different operation than Lanczos. Lanczos-3 generally produces equivalent-or-better results in one pass without the post-process sharpen step.
Does resize change the file size?
Yes, in proportion to the pixel count squared. A 4032×3024 → 1920×1440 resize drops the file to roughly 23% of the original.
Is EXIF preserved?
Yes by default. Run the EXIF remover before or after if privacy is the goal.
Are my files uploaded?
No. Resize runs entirely in a Web Worker via WebAssembly; no upload, no per-image cost.
Try it now
Resize images by pixel dimensions
Image Resizer