Files & Images Runs locally Ready to use Built-in examples No tracking

Image Mosaic

Upload a photo and pixelate it locally with an adjustable block size, covering the whole image or just a center ellipse for faces and IDs - processed in your browser and downloaded as PNG.

Blurring before posting is a routine need: a licence plate, a face, a parcel tracking number, an account name on a screen — usually only a small patch needs hiding rather than the whole picture, and that is exactly where many tools ask for a login, show ads or upload the original. The point of masking is privacy, and uploading gives a lot of it away first.

The mosaic is composed in the browser with the classic approach — scale the image down to block resolution, then scale it back up — at a block size of 2 to 64 pixels. When only the middle needs hiding, which is where faces and ID numbers usually sit, the centre-ellipse option keeps the surroundings sharp, and the result looks far more natural than pixelating everything.

—
—

How to use

  1. Load the photo.
  2. Choose whether to pixelate the whole image or only the centre ellipse.
  3. Set the block size — larger means coarser.
  4. Download the masked image as PNG.

How it works

Block size sets the blur

Block size decides the blur: at 8px text keeps recognizable outlines — light background masking; 16px is standard, faces and text unreadable; past 24px even shapes vanish. For plates and ID numbers start at 16px.

The center ellipse

The center ellipse centers on the image with semi-axes of about 35% of width and height — a 480x320 image covers a central 336x224 ellipse. Faces and ID main info usually fall inside; targets outside it (a corner plate) need full-image mode, or crop first.

Pixelation is irreversible

Pixelation is a destructive operation: original pixels merge into block-average colors, detail is gone, and no honest algorithm recovers it. Small blocks (2-4px) can still be partially guessed by AI upscalers — use 16px+ for sensitive content.

Nothing leaves the browser

No. The whole pipeline runs in your browser — decode, pixelate and export all happen in local memory, with no upload code on the page, and it works identically offline. That's the floor for a privacy tool.

Code example

JavaScript The mosaic grid: rounded up to fill the image

const cols = Math.ceil(w / b);
const rows = Math.ceil(h / b);   // 800×600 with 40px blocks → 20×15 = 300 blocks

// Each block is filled with the average of its pixels; a uniform block reads as mosaic
// Larger blocks blur more: 2 is barely grainy, 128 no longer resembles the original

JavaScript A centred ellipse: mask only the blocks inside it

// The ellipse is centred on the image with semi-axes at 35% of each side
const rx = w * 0.35, ry = h * 0.35;

// A block is masked when its centre falls inside the ellipse (the standard ellipse equation)
const px = (c + 0.5) * b, py = (r + 0.5) * b;
const inside = ((px - cx) / rx) ** 2 + ((py - cy) / ry) ** 2 <= 1;

FAQ

What format is the output?

PNG. It records the pixelated image losslessly, without JPEG's noise around color-block edges; file size varies with image dimensions and content complexity.

Can I blur just one rectangle?

The current version offers full-image and center-ellipse only. For an arbitrary rectangle, crop the region out with the image cropper, blur it, and stitch it back. The ellipse mode covers the most common blur-the-middle case.

Why does the smallest block size look unchanged?

2px pixelation is like halving then enlarging — a slight softening. It serves "keep the look, drop exact pixels"; for obvious masking use 12px or more.

Are animated GIFs supported?

No. Pixelation processes the static first frame and outputs PNG — handle animations frame by frame or use a video editor.

Does mosaic keep the EXIF capture info?

It's lost — canvas-composited PNG carries no original EXIF. If your goal includes scrubbing location metadata, that's a bonus; keep the original file if you need EXIF.

How large an image can it process?

Ordinary phone photos (tens of megapixels) are effortless, finishing in milliseconds; extremely tall screenshots (tens of thousands of pixels) hit browser canvas limits — downscale first.

Mosaic vs. blur — what's the difference?

Mosaic cuts the region into color blocks and discards all detail inside; Gaussian blur averages with weights, keeping gradient information at edges that's theoretically reversible. For hiding sensitive content, prefer mosaic — it's what news outlets use.