Fix a Pixelated Image — Free, 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.
