Fix a pixelated image rebuild the squares

Free AI that runs on your device and turns blocks back into edges. Pro can send one photo for a heavier Cloud HD pass instead.

Upscale factorOne 4.9 MB model, downloaded once, cached forever

Runs the heavier model on our server. Your photo is uploaded for this run only, deleted on completion, never used to train anything. Everything else stays on your device.

Processed in the United States under EU standard contractual clauses. Your photo is deleted on completion, and in all cases within 24 hours.

Drop an image or choose one to upscale
JPEG · PNG · WebP · HEIC · AVIF — processed in your browser

2 of 2 free AI runs left. Pro is unlimited.

Fix a Pixelated ImageFree, Fast & Private

"Pixelated" describes three unrelated problems, and the fix depends entirely on which one you have. The first is a genuine shortage of pixels: a 300px image displayed 900px wide, where the browser or the viewer draws each original pixel as a nine-pixel square and the picture becomes a mosaic of its own sampling grid. The second is compression damage: a JPEG saved at low quality, which the format processes in 8x8 blocks, leaving flat squares in gradients, stair-stepping along diagonals and a faint halo of noise around every hard edge. The third is deliberate obscuring — a mosaic filter someone applied over a face, a screen or a number plate. All three look blocky at a glance and only the first two are, in any sense, repairable.

Too few pixels is the case this tool is built for. When the grid is showing because the image is being asked to cover more area than it has samples for, the answer is to create more samples — and creating them by averaging, which is what a browser or an image editor does, only replaces sharp squares with soft smears. The model here takes the other route. realesr-general-x4v3 is a compact Real-ESRGAN network, 4.9 MB, verified against a pinned checksum, run in your browser through WebGPU or WebAssembly in 512px tiles. Trained on pairs of sharp images and shrunken degraded copies, it predicts what full-resolution texture would have produced each small patch, so an edge is reconstructed as an edge rather than blurred across four new pixels. On a 300px source at 4x you get 1200px that reads as a photograph instead of a grid; the on-device upscaler is the same engine, documented at length.

Compression blocks are a partial win, and the honest word is partial. The training data behind this model included JPEG degradation on purpose, so it learned to suppress mild blocking while it enlarges — gradients smooth out, ringing around text fades, the 8x8 lattice loses its regularity. Push it with a heavily re-saved file, though, and the assumption breaks: at low quality the artifact edges carry as much contrast as the real ones, and the model has no principled way to tell a compression boundary from a roof line. The characteristic failure is not blockiness surviving, it is everything going slightly waxy — skin without pores, foliage without leaves. If you see that, the source was too damaged, and no setting on this page will change it. What helps instead is finding a less-compressed copy: forwarded images are re-encoded by almost every app they pass through, so the parent file is usually cleaner than the one you were sent.

A deliberate mosaic is gone, and pretending otherwise is the dishonest part of this category. Pixelating a region replaces every value in it with a block average. That is not concealment, it is destruction — the original values are not encoded anywhere in the saved file, so there is nothing for any model, on any hardware, to read back. What a super-resolution network will do when pointed at such a region is produce a plausible face, a plausible set of digits, a plausible screen. It will look convincing and it will be an invention. The same caution applies more broadly: nothing that comes out of an upscaler should be treated as evidence, used to identify a person, or read as a licence plate. Appearance improves; information does not.

What the free tier gives you, and what Pro changes. The on-device path is free, needs no account, and caps input at 1080px on the long edge — which at 4x still produces up to 4320px — with a small "minipx.com" watermark in one corner. Free includes 2 AI runs shared across the three on-device AI tools, then a cooldown that starts at 60 minutes and grows by 30 minutes each further time, capped at 24 hours and cleared after 7 days without a run. Pro removes the watermark, makes on-device runs unlimited and raises the caps to 2048px in at 4x and 4096px at 2x, both up to 8192px of output. Pro also unlocks Cloud HD, a switch beside the run button that is off until you turn it on: it sends that single photo to our GPU, runs a JPEG pre-clean pass and then HAT-L at 4x, accepts up to 25 MB and 4 megapixels, returns up to 16× the pixels of the input — a 4 MP photo comes back at about 64 MP, and takes four to five minutes on a full-size source. It spends one of the 10 HD runs in a month, inside 150 runs on Pro Monthly or 200 on Pro Annual; a failed run is not charged. Compression damage is exactly the case where that heavier model earns its keep.

Related jobs that are not this one. If the picture is soft rather than blocky — motion, missed focus, camera shake — that is blur, not pixelation, and unblur an image is the page for it. If the file simply has fewer pixels than the job needs and looks fine at its own size, go to upscale a low-resolution photo or read the general case at enlarge an image without losing quality. The full engine documentation, including the tiling strategy and every plan limit, lives on the AI image upscaler page.

Where the file goes, and the order to work in. The free path runs entirely on your own hardware — the model downloads once, caches, and works offline afterwards; open the network panel during a run and you will see the model come down and nothing image-shaped go up. The single exception is a Cloud HD run you switch on yourself on Pro: that photo is uploaded encrypted, processed in the United States on Cloudflare R2 and a Modal GPU, deleted when the run finishes, and in all cases within 24 hours, and is never used to train anything. As for order: reconstruct first and compress last. Output is PNG so the rebuilt texture is stored losslessly, and if the file needs to be smaller for the web, run it through the image compressor afterwards rather than feeding a compressed file back in. Compressing first is how a blocky image becomes a bigger blocky image.

How it works

  1. Work out which kind of blockiness you have: Zoom to 100 per cent. Even squares in a grid mean a small file enlarged; squares clustered around edges and in flat areas mean JPEG compression; a neat rectangular patch means a deliberate mosaic.
  2. Look for a better original before you process anything: Check the camera roll, the cloud backup, or ask the sender for the file rather than the forwarded copy. A larger source beats any reconstruction.
  3. Run the upscaler at 4x: Drop the file in and let the model rebuild edges and texture instead of averaging them. The first run downloads the 4.9 MB model; every run after is instant to start.
  4. Inspect at full zoom before you accept it: Check faces, text and repeating patterns closely — those are where invented detail shows first. If the result looks waxy rather than sharp, the source was too compressed for the model to separate artifact from detail.

Frequently asked questions

Why does my image look blocky in the first place?
Usually one of three causes. It has too few pixels for the size it is being shown at, so each original pixel is drawn as a visible square. Or it has been saved as a JPEG at a low quality setting, which quantises the picture in 8x8 blocks and leaves flat squares and ringing around edges. Or somebody applied a mosaic on purpose to hide something. The first two respond to reconstruction; the third does not.
Can the model clean up JPEG compression blocks?
Partly, and it is honest about the limit. realesr-general-x4v3 was trained on images degraded synthetically in ways that include JPEG compression, so mild blocking and ringing are suppressed as it upscales. Heavy compression is harder, because at that point the artifact edges are as strong as the real ones and the model cannot tell which is which — the usual failure is an over-smoothed, waxy result rather than a blocky one.
Can a censored or mosaic-covered area be recovered?
No. A mosaic replaces every pixel in a region with the average of its neighbours, which destroys the information rather than hiding it — there is nothing left in the file to recover. An upscaler will happily produce a smooth, confident, invented face or number plate where the mosaic was, and it will be wrong. Treat any such output as decoration, never as evidence, and never as identification.
Is finding the original file better than fixing the copy?
Almost always, and it takes five minutes to check. Messaging apps, social platforms and email clients routinely re-encode images on the way through, so the blocky copy in your downloads folder often has a clean parent in a camera roll, a cloud backup, or the sender phone. A larger original beats any reconstruction, because it contains detail that was actually captured instead of detail that was predicted.
Would shrinking the image instead hide the blockiness?
It does, and sometimes that is the right answer. Downscaling averages several blocky pixels into one, so at half size the artifacts largely disappear — useful when the image only has to fill a small slot in a layout. The trade is obvious: you end up with a smaller picture. Use the resizer when the target is small and the upscaler when the target is fixed and larger than the source.
Does Cloud HD deal with badly compressed sources better?
It is built for exactly that case. The Cloud HD path runs a JPEG pre-clean pass before HAT-L rebuilds the image at 4x on our GPU, which is more than the small on-device model attempts. It is Pro-only, off until you switch it on, capped at 25 MB and 4 megapixels in with output up to 16× the pixels of the input — a 4 MP photo comes back at about 64 MP, and takes four to five minutes on a 4 megapixel source. Each run spends one of the 10 HD runs in your monthly allowance.

All Image Tools

AI Tools

Solutions by use case