What this is. Five free, open methods for enlarging a photo 4x, measured on the same 12 photos with the same code, on 7 October 2026. They are the baseline any paid upscaler should beat: if a product can't do better than free bicubic interpolation or the open-source Real-ESRGAN models, you don't need it. It is not a ranking of products, and no commercial tool appears on this page.

How. Each photo was reduced to 2,000 px on the long side (the reference), then reduced again by exactly 4x with bicubic filtering (the input, about 500 px). Each method enlarged the input back to 2,000 px, and the result was compared with the reference. The methodology explains every step and the metrics; the scripts and data are published.

Results

Averages over the 12 photos

Higher PSNR and SSIM mean closer to the original pixel for pixel; lower LPIPS means closer as a neural network trained on human judgements sees it. Methods are listed from simplest to most complex, not ranked.

Method PSNR (Y), mean SSIM (Y), mean LPIPS, mean Time per photo
Bicubic 30.00 dB 0.7679 0.386 under 0.1 s
Lanczos 30.22 dB 0.7740 0.392 0.1 s
Real-ESRNet x4plus 29.54 dB 0.7915 0.351 37.8 s
Real-ESRGAN x4plus 26.79 dB 0.7268 0.226 35.4 s
Real-ESRGAN general v3 27.66 dB 0.7626 0.312 2.3 s

Time is the median per photo on an 8-core Intel Core i9 laptop CPU (no GPU), PyTorch 2.2.2. A recent GPU runs the neural networks in well under a second.

How often each method beats bicubic, photo by photo

Method Higher PSNR Higher SSIM Lower LPIPS
Lanczos 12 of 12 12 of 12 5 of 12
Real-ESRNet x4plus 9 of 12 9 of 12 9 of 12
Real-ESRGAN x4plus 0 of 12 0 of 12 12 of 12
Real-ESRGAN general v3 0 of 12 4 of 12 10 of 12

Every photo

PSNR on luma, in dB (higher is closer):

Photo Bicubic Lanczos Real-ESRNet x4plus Real-ESRGAN x4plus Real-ESRGAN general v3
Guide, Little Norway (1942) 38.65 39.30 32.71 31.70 29.99
Garage mechanic (1943) 34.19 34.43 34.83 32.58 32.46
Walter White (c. 1950) 44.52 44.78 41.04 37.91 36.81
A. G. Bell (c. 1895) 32.39 32.47 32.04 25.00 31.25
Jacques-Cartier river 24.24 24.33 24.44 22.21 23.46
Mount Ida, Crete 26.67 26.82 26.96 23.74 25.34
Rio de Janeiro 26.47 26.60 27.13 25.35 25.98
Sunset Key 26.16 26.25 26.43 24.23 25.41
Hotel Post sign 29.77 30.09 31.13 28.45 27.15
"Posted" sign 26.03 26.38 26.49 23.79 24.73
Lynx 29.55 29.70 29.63 26.70 28.55
Golden Chapel 21.40 21.49 21.70 19.83 20.82

SSIM on luma (higher is closer):

Photo Bicubic Lanczos Real-ESRNet x4plus Real-ESRGAN x4plus Real-ESRGAN general v3
Guide, Little Norway (1942) 0.951 0.954 0.939 0.918 0.921
Garage mechanic (1943) 0.917 0.919 0.924 0.894 0.904
Walter White (c. 1950) 0.975 0.976 0.972 0.959 0.966
A. G. Bell (c. 1895) 0.701 0.705 0.695 0.598 0.673
Jacques-Cartier river 0.504 0.515 0.552 0.444 0.502
Mount Ida, Crete 0.679 0.688 0.715 0.608 0.671
Rio de Janeiro 0.771 0.776 0.799 0.753 0.777
Sunset Key 0.683 0.689 0.714 0.651 0.680
Hotel Post sign 0.885 0.889 0.914 0.880 0.886
"Posted" sign 0.791 0.805 0.828 0.727 0.787
Lynx 0.866 0.870 0.886 0.834 0.871
Golden Chapel 0.491 0.503 0.560 0.456 0.514

LPIPS (lower is closer):

Photo Bicubic Lanczos Real-ESRNet x4plus Real-ESRGAN x4plus Real-ESRGAN general v3
Guide, Little Norway (1942) 0.152 0.151 0.192 0.143 0.195
Garage mechanic (1943) 0.301 0.298 0.282 0.217 0.289
Walter White (c. 1950) 0.205 0.203 0.226 0.123 0.191
A. G. Bell (c. 1895) 0.593 0.605 0.642 0.570 0.622
Jacques-Cartier river 0.662 0.681 0.603 0.288 0.484
Mount Ida, Crete 0.446 0.462 0.411 0.211 0.329
Rio de Janeiro 0.456 0.461 0.374 0.221 0.332
Sunset Key 0.393 0.400 0.350 0.128 0.277
Hotel Post sign 0.241 0.240 0.171 0.123 0.171
"Posted" sign 0.382 0.395 0.284 0.248 0.252
Lynx 0.198 0.197 0.194 0.120 0.168
Golden Chapel 0.601 0.608 0.482 0.321 0.438

What the numbers say

The metrics disagree, and that is the main finding. Real-ESRGAN x4plus, the generative model behind many "AI upscalers", has the best LPIPS on 12 of 12 photos, yet scores below plain bicubic on PSNR on 12 of 12 and on SSIM on 12 of 12. It draws sharp, convincing fur, foliage and edges that are not exactly where the real ones were. PSNR and SSIM count every misplaced detail as error; LPIPS, which was fitted to what people judge as similar, rewards the sharpness. So "this upscaler has lower PSNR" doesn't prove it is worse, and "it looks sharper" doesn't prove it is faithful.

The model trained without a GAN is the most faithful photo by photo. Real-ESRNet x4plus, the same network trained with pixel loss only, has the best PSNR on 8 and the best SSIM on 9 of the 12 photos, and the highest average SSIM. Its average PSNR (29.54 dB) is still below Lanczos's (30.22 dB), pulled down by a few portraits where it loses by several decibels. It looks cleaner than bicubic, but not as crisp as the GAN.

On soft originals, plain interpolation wins on PSNR. Lanczos or bicubic has the best PSNR on 4 photos: Guide, Little Norway (1942), Walter White (c. 1950), A. G. Bell (c. 1895), Lynx. Three of those are the film and studio portraits, whose references are smooth; the Real-ESRGAN models, trained to remove noise and blur from real-world photos, flatten skin and fabric texture that was really there. A model trained for degraded inputs is not the right tool for a clean small image.

The compact model is a fair trade on a CPU. Real-ESRGAN general v3 takes about 2.3 seconds per photo here against about 35.4 for x4plus, and its average LPIPS (0.312) sits between bicubic's and x4plus's.

What this test does not show. These inputs were made by clean bicubic reduction, the easy case. Real small images also carry blur, noise and JPEG compression, which the Real-ESRGAN models were trained to handle and where they should do better against bicubic; that harder test is planned (see the methodology). With 12 photos, differences of a few tenths of a dB or a few thousandths of SSIM between methods are not meaningful.

Side by side

Each figure shows the same 128 × 128 region of the reference and of every output at 2x (nearest-neighbour, so each output pixel is a 2 × 2 block), the 32 × 32 input pixels the methods started from at 8x, and where the region sits in the photo. The region is chosen by a fixed rule, the most detailed spot in the reference, not by eye. Figures are lossless.

Guide, Little Norway (1942)

Crops of the same region of the Guide, Little Norway (1942) photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Garage mechanic (1943)

Crops of the same region of the Garage mechanic (1943) photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Walter White (c. 1950)

Crops of the same region of the Walter White (c. 1950) photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

A. G. Bell (c. 1895)

Crops of the same region of the A. G. Bell (c. 1895) photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Jacques-Cartier river

Crops of the same region of the Jacques-Cartier river photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Mount Ida, Crete

Crops of the same region of the Mount Ida, Crete photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Rio de Janeiro

Crops of the same region of the Rio de Janeiro photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Sunset Key

Crops of the same region of the Sunset Key photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Hotel Post sign

Crops of the same region of the Hotel Post sign photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

"Posted" sign

Crops of the same region of the "Posted" sign photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

A second crop of this photo, chosen by hand to show the sign's small print (about 5 pixels tall in the input). Real-ESRGAN x4plus produces crisp, confident letters, but the first I of FISHING comes out misshapen and some strokes are redrawn; general v3 leaves red specks inside the letters. Bicubic and Lanczos are blurry but invent nothing.

Hand-chosen crops of the small print on the "Posted" sign from every method

Lynx

Crops of the same region of the Lynx photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Golden Chapel

Crops of the same region of the Golden Chapel photo: the original, the 4x-reduced input, and the outputs of bicubic, Lanczos, Real-ESRNet x4plus, Real-ESRGAN x4plus and Real-ESRGAN general v3

Data and code

To check a PSNR or SSIM value yourself, make the reference and input with prepare.py, upscale, and load the reference and output into the PSNR and SSIM calculator: it uses the same formulas and settings.

Licenses. Real-ESRGAN and its released weights are BSD-3-Clause (github.com/xinntao/Real-ESRGAN). The photos are public domain or CC0 (list on the methodology page), so the crops above are free to reuse.

Also available as Markdown.