Choosing a Scaling Algorithm: Lanczos, Bicubic, Bilinear
The algorithm dropdown in the resize dialog goes unread by most people. But the difference between soft and sharp after scaling often hides in that one default value.
How the three algorithms differ
Scaling estimates new pixels from neighborhoods; the algorithms differ in how large a neighborhood they read and how they weight it. Bilinear reads a 2×2 block with linear interpolation — fastest, at the cost of smoothed high frequencies and a softer picture. Bicubic reads 4×4 with cubic weighting — a middle ground in sharpness and speed, the common default. Lanczos reads a larger window (6×6 and up) with a multi-tap sinc kernel — best edge and texture retention, slowest.
One-line memory: Bilinear for speed, Lanczos for quality, Bicubic in between. All three produce the same output size; they differ only in detail retention and time.
Downscaling: why Lanczos is the pick
Shrinking 1080p to 720p merges several source pixels into one target pixel; the algorithm decides which information represents each group. Bilinear averages crudely, so dense textures — hair, foliage, text strokes — shimmer or smear. Lanczos’s multi-tap kernel keeps edge contrast better through a downscale: text stays legible, contours stay crisp.
The bigger the scale factor (halving and beyond), the wider the visible gap; a 10-20 percent trim is nearly indistinguishable by eye, so pick the fast one. Another rule: shrink-then-compress loses less than compress-then-shrink — spend quality at the scaling step so compression has something left to work with.
Upscaling: no algorithm invents detail
Enlarging 480p to 1080p is guessing no matter the algorithm. Lanczos upscales look sharper than Bilinear, but sharp is not real — no detail was added, edges are just harder. The physical ceiling makes the algorithm a secondary concern; whether to upscale at all is the primary one.
Only upscale when a platform forces a resolution (a cover that must be 1280 wide, say), and set expectations at meets-the-spec rather than looks-better.
Images too, plus two exceptions
Image scaling uses the same algorithm family with the same logic: avatars, screenshots and anything with text go Lanczos — fuzzy letterforms are the most instantly recognizable failure. Photos are insensitive; Bicubic is fine.
Two exceptions: pixel art and QR codes must use nearest-neighbor, never smoothing — they live on hard edges, and smoothing destroys them. Code windows in screen captures are the same: after any resize, text sharpness outranks everything.