DEV Community

yue xing
yue xing

Posted on

How blurry is too blurry for AI upscaling? I put a number on it

Writing up a project, I kept hitting old low-res screenshots too blurry to drop into the report, with no original data to regenerate them. I tried AI upscaling to salvage them a few times, hit some snags, and worked out an order — plus, more importantly, when it simply can't be done.

Boundary first, because it decides whether the time is worth spending. I built an image with text and thin lines, shrank it to different ratios and enlarged it back, and measured how much high-frequency detail survived.

The harder you shrink it, the less comes back

The numbers are blunt: shrink to 1/2, about 52% of detail left; to 1/4, about 20%; to 1/8, only 9%. Desktop Chromium, one image, so it's only about this picture — but the principle is general. Past a point, the original detail is genuinely gone, and super-resolution isn't finding it, it's painting a plausible guess in its place. So a figure that matters — an experimental data plot, a formula screenshot, anything someone checks against — if it's badly blurred, don't count on upscaling; that's writing content in. The everyday "just make it look nicer" images are where it belongs.

Once that's clear, the steps are simple. Pick a mode: ImgIng gives five, and I run the fast one first to see if it's worth continuing; text and lines go to fidelity, an old faded photo to old-photo restoration, a face or natural background to the texture tiers. Don't reach for the heaviest tier out of "best must be best" — heavy is slow and hungry, try the fast one to find the direction first.

Then the multiplier — not bigger-is-clearer. Phones and already-large images take 2x; only a small image you genuinely need enlarged goes to 4x. And check the edges at 100%: look at whether letters got repainted into other letters, whether a regular texture grew detail the original didn't have. There's a pixel-compare slider for exactly this — drag it against the original, don't just glance at "looks clearer" and ship.

One mistake I made early: assuming "highest tier + 4x" was the best setup. I ran a plain lecture screenshot through the high-end tier at 4x, waited a while, and the edges came out with texture the original never had — it looked more "AI", not more real. Tier and multiplier are chosen by the image and its use, not by "I want the best". Over-enhancing just makes the model invent more.

Last thing, don't skip it: after any fix, drag that compare slider one more time. Sharpening and re-runs can introduce new artefacts, and contraction especially tends to eat something where you weren't looking. I flip through it once more and only export when nothing new has shown up.

Top comments (1)

Collapse
 
bickov profile image
Alex @Bickov • • Edited

This lines up with what happens before upscaling is even a question, the model resizes the input first. A 2540 by 18410 screenshot lands at roughly 355 by 2576 on current Claude models and 216 by 1568 on older ones, so sixteen pixel body text is already under three pixels tall before anything gets read. I run slimsnap.ai, there's a longer breakdown of the pixel math on the blog there.