Fix a pixelated photo from a messaging app
BeforeAfterNo sign-up · no watermark · unlimited · runs on your device
or drop it here
Checking what this device can do…

More resolution and cleaner edges.

Resamples the pixels, then writes a real DPI.

Takes out the grain, leaves the edges.

Tightens soft edges, keeps your dimensions.

2× or 4×, photos and illustrations.

2×, 3× or 4× on your own GPU, frame by frame.

Crisper edges, without the tell-tale halo.

Tightens soft edges, frame by frame.

Cleans up compressed, soft footage.
The blocks came from one of two places, and that decides how much comes back.
BeforeAfter
BeforeAfter
BeforeAfter
BeforeAfterOne file or a dozen. PNG, JPEG and WebP all open. The page checks what your device can handle before you choose, so limits turn up before the work does.
Look at the result at 100%, not fitted to the screen. Tidy tiles on a regular grid mean a compressor — switch to the trained method and let it re-run. Large ragged squares mean an earlier resize, and the default has already done what can be done.
Drag the before/after slider over an area with real detail — hair, fabric, type — rather than over a flat wall. Then download. No watermark, no sign-up, no limit on how often.
Eight photographs, damaged two ways. The two halves do not have the same answer.
Blocks a compressor left can be repaired — the picture is still encoded in there, badly, and a trained network knows what those coarse steps stood for.

Soft (default) · no download · 33.43 dB

Unpixelate (Trained) · 4.9 MB · 34.30 dB
Blocks left by an earlier resize cannot. Nothing survived to rebuild from — on those eight photographs no method here beat a plain bilinear resize, and finding the original file beats all of them.
Both of these run on your own graphics card. Which one to use is decided by the section above, not by taste.
| Method | Best for◆ | Scale | Speed on a 1 MP photo | Download |
|---|---|---|---|---|
| Soft (default) | Everything, and the right first try | 1×, 2×, 3×, 4× | ≈ 50 ms | None |
| Unpixelate (Trained) | Blocks left by heavy compression | 2× only | ≈ 0.83 s | 4.9 MB, once |
A download happens once, then stays cached. The default is shader maths — no fetch, no queue, and it never becomes unavailable because a file failed to arrive.
These upload the image and run on our servers for credits, one of them from Topaz Labs. Generative models draw detail that was never recorded — the only thing that helps once the blocks are all that is left.
| Model | Type | Best for | Per photo |
|---|---|---|---|
| AI Restore | Generative | Cleans and enlarges in one pass | 1 credit |
| AI Crisp | Precision | Sharper and cleaner, with nothing invented | 1 credit |
| Topaz Standard | Precision | Denoises, removes compression and enlarges in one pass | 6 credits |
Billed once per photo rather than by the pixel, so the figure on the Run button is the whole price before anything is sent. Credits are spent per run — no subscription — and the result is kept for 30 days unless you delete it.
Open it in a tool that reconstructs between the pixels instead of repeating them. FreeUpscaler does that locally: the block structure is smoothed, the image is rebuilt at the size you ask for, and a contrast-limited sharpening pass restores definition without the bright fringe ordinary sharpening leaves — no account, no watermark, no limit.
How much you get back depends on where the blocks came from. If a compressor made them, a trained method can rebuild a good deal of what was discarded, and it runs on your own machine. If somebody resized the photo before you got it, the detail was destroyed at that moment — the local methods take the squares out, and a generative cloud model is the only tier that will draw something in their place.
Blocks from an earlier enlargement are not hidden detail. They are the absence of it.
On a photo that was already made bigger by pixel duplication, the squares go and that is the whole gain — every local method finished behind a plain bilinear resize. A generative cloud model will draw a plausible version instead, which is a different promise and worth knowing the difference.
A pixelated file already carries 1.40 times the edge energy of the picture it came from — the surplus is block boundaries. The one method measured whose output averaged sharper than the original was also last on fidelity on both damages: it makes the squares crisper, not the picture.
Censored faces, redacted plates, deliberately blurred documents. That information was destroyed on purpose rather than lost by accident. Any tool that produces a readable result there has invented a plausible one, which is worse than nothing.
A very large result can exhaust the graphics driver mid-job; the same job often succeeds on a retry. If it fails twice, drop the scale a step — and ask for the size you actually need rather than the biggest one.
Drop it onto the box above and pick a scale. The block structure is smoothed, the image is rebuilt at the size you asked for and a contrast-limited sharpening pass restores definition — all on your own graphics card, in about a twentieth of a second for a one-megapixel photo, with no account and no limit. How much comes back depends on where the blocks came from, which is the first thing this page helps you work out.
Two different things, and they need different treatment. Either somebody made the image bigger with software that repeated pixels rather than reconstructing between them, so each original pixel became a visible square; or a compressor quantised the image in 8 × 8 tiles and left visible seams between them. The first destroys the detail before you ever see the file. The second only discards part of it, which is why it responds far better to repair.
Not the free methods. The image is decoded, processed and re-encoded inside this browser tab, and you can verify it in ten seconds: load this page, disconnect from the internet, and fix a photo anyway. A cloud model is the exception and says so before it runs — it uploads the image for that job, and the result is kept for 30 days unless you delete it.
It depends which of the two damages you have, and this page publishes both answers. For blocks a compressor left, a trained method that runs on your own machine is genuinely worth its download: it led on all eight compressed test images. For blocks left by an earlier resize, nothing local beat a plain bilinear resize — the squares go and the detail does not return. For the highest ceiling of all, a generative cloud model draws a plausible version of what was lost, and it costs real money.
Zoom into a flat area — a wall, a sky, a shoulder — and look at the shape of the blocks. Tidy squares on a regular grid, with fuzz around nearby edges, mean a compressor: switch to the trained method and let it re-run. Large ragged squares with staircased diagonals mean an earlier resize, and the default has already done what can be done.
Because a pixelated file already has too much edge, not too little. Measured with a Sobel gradient, the damaged test images carried 1.40 times the edge energy of the originals they came from, and the surplus is block boundaries. A sharpener cannot tell a block boundary from a cheekbone, and there are far more block boundaries — the deblurring method was the only one measured whose output averaged sharper than the original photograph, while finishing last on fidelity on both kinds of damage.
The blocks can always be removed. The detail underneath usually cannot. On eight photographs that had been shrunk and then made bigger again by pixel duplication, nothing local beat a plain bilinear resize. On heavily compressed photographs the same trained method gained 2.36 dB over leaving the file alone. Deliberate pixelation — a censored face, a redacted plate — cannot be reversed by this or by any other tool.
If you only need it small, displaying it at its native pixel size removes the pixelation completely, for free, with no processing at all — worth checking before you run anything. Going bigger is the right move when you genuinely need more pixels, for print or a large screen. Ask for the size you actually need, though: more pixels do not add information, they spread the same information further.
Arithmetic rather than greed. Anyone renting GPUs by the minute has to meter you or lose money on every visitor, so the free tier becomes three images a month, or a watermark, or a sign-up wall before the download. Moving the work onto your own machine takes that cost to zero, which is why the local methods here have no counter at all.
Credits pay for the cloud models, because those runs cost real money to perform. Signing in is the wallet for them and nothing else — the local methods never ask, and nothing about them is gated. A new account starts with 3 free credits, enough to put a photo through the cheapest cloud model and see what it does.