Pixelate

Rebuild an image out of flat blocks: pick the block size, pick the rule that decides each block's colour, and optionally cut the channels down to a fixed number of levels.

Drag & drop a file here, or

JPG PNG WebP GIF Max 50MB

Two rules, two answers

The average of a block and one pixel out of a block are different methods, not two names for one. They agree on flat colour and part company on an edge or a small bright detail — the mean dilutes it, the sample keeps it whole or misses it. The line under the preview says which one ran.

This is an effect, not redaction

Pixelated text and faces have been recovered before, because each block still carries the average of what was under it. To make something genuinely unreadable, cover it instead — use the Redaction Tool for documents or Face Blur for people.

100% private

Your image never leaves your device. Every block is computed on the Canvas API in your browser and the PNG is built locally. No upload, no storage, no account.

Advertisement

How it works

What decides a block's colour

The image is divided into a grid of squares and each square is painted one flat colour, so the only real question is where that colour comes from. There are two published answers and this tool offers both rather than picking one quietly. Block average adds up every pixel the square covers and divides — the result is the tone of the area, and a single bright speck inside a large block barely moves it. Centre pixel reads exactly one pixel, the one nearest the middle of the square, and averages nothing — so that same speck is either the colour of the whole block or absent from it entirely. On flat colour the two agree exactly. On an edge, on fine text, on a highlight, they give visibly different pictures, and the line under the preview names the one that produced the pixels above it.

Why the blocks are computed, not resized

The usual shortcut for this effect is two lines long: draw the image very small, then draw it back at full size with smoothing turned off. It produces blocks, and it also throws away the question the page just answered — the filter a browser uses when it shrinks an image is not specified anywhere, so the block that comes back is neither the average nor the centre pixel but a third rule with no name, which can differ between browsers on the same file. A tool that offers a choice of rule cannot then let the canvas choose a different one. This page reads the pixel buffer once at working size and computes every block from the pixels that block actually covers, so the same settings on the same image give the same output everywhere. Blocks at the right and bottom edges are drawn at whatever width is left rather than padded out.

Levels per channel, and the colour count

The optional reduction control is labelled for what it does: it snaps red, green and blue each to a fixed number of evenly spaced levels. Four levels per channel is not four colours — it allows up to sixty-four combinations, and how many of those actually appear depends entirely on the picture. So the number of distinct colours is measured off the finished blocks and printed next to the settings, before any grid is drawn over them, rather than calculated from the slider. What this control is not is a named palette: reducing to a few levels is arithmetic on your image's own colours, while a NES or Game Boy palette is a fixed list of specific colours that every pixel must be matched to. That is a different operation and this tool does not claim it.

Where it runs, and what it is not

Everything happens in your browser through the Canvas API. The image is never uploaded, nothing is stored, and no account is needed. Large images are worked at up to 2048px on the long edge, and the source is never scaled up. One thing this is deliberately not: it is a visual effect and not a way of hiding information. Each block still carries a summary of what was underneath it, and pixelated text and faces have been reconstructed from exactly that. If something has to stay unreadable, cover it rather than average it — the Redaction Tool paints over document regions and Face Blur handles people. For the neighbouring effects in this family, see Dithering, Halftone and ASCII Art.

Frequently Asked Questions

Does pixelating hide text or a face?

No, and it should not be relied on for that. Every block still carries a summary of the pixels underneath it, so the information is reduced rather than removed, and pixelated text and faces have been reconstructed before — the smaller the block, the more survives, but even large blocks leak the general shape and tone. If something has to stay unreadable, cover it instead of averaging it. Our Redaction Tool paints solid regions over parts of a document, and Face Blur is built for people in photos. This page is an effect.

What is the difference between block average and centre pixel?

They are two different published methods for deciding one block's colour. Block average adds up every pixel the block covers and divides, so the block shows the tone of that area and a small bright detail inside it barely registers. Centre pixel reads the single pixel nearest the middle of the block and does no averaging, so that same detail either becomes the colour of the whole block or disappears completely. On flat colour they produce the same result. On edges, small text and highlights they differ visibly, which is why both are offered rather than one being chosen for you.

Which one should I pick?

Block average is the safer default and is what most photo software means by pixelate: it looks smoother and follows the tone of the picture. Centre pixel keeps colours pure rather than blending them, which suits flat graphics, logos and anything you want to read as sampled rather than averaged, and it gives a harder, more posterised result on photographs. There is no correct answer — try both on the same image, and read the line under the preview if you forget which is active.

What block size should I use?

Block size is the width of each square in pixels and it decides the whole look. Two to four pixels is a subtle softening that still reads as a photograph. Eight to sixteen is the familiar pixelated look and is a good starting point. Thirty-two to sixty-four gives very large blocks where only the overall composition survives. Remember the grid is fixed in pixels, so the same setting on a small image is a much coarser effect than on a large one — the preview line prints how many blocks the current settings produced.

What does "levels per channel" mean, and why not "number of colours"?

The reduction control snaps each of the red, green and blue channels to a fixed number of evenly spaced values. That is not the same as a number of colours: four levels per channel allows up to four times four times four, or sixty-four, combinations, and how many actually appear depends on your image. Labelling it "4 colours" would be a promise the setting cannot keep. So the control says what it does, and the actual number of distinct colours is measured from the finished blocks and printed under the preview.

Can I get a NES or Game Boy palette?

Not from this tool, and the distinction matters. Reducing levels per channel is arithmetic performed on the colours already in your image. A named console palette is a fixed list of specific colours, and matching an image to it means finding the nearest entry in that list for every pixel — a different operation with a different result. Offering the first while calling it the second is the kind of thing this page is written to avoid, so the control is described as what it is.

Why does the result look different from other pixelate tools?

Most of them use a shortcut: draw the image very small, then draw it back to full size with image smoothing turned off. That produces blocks, but the filter a browser uses when it shrinks an image is not specified, so the block you get is neither the average of the area nor a sampled pixel — it is a third rule that can even differ between browsers. This tool reads the pixel data once and computes each block from the pixels that block actually covers, using the rule you selected. Same image and settings, same output, everywhere.

Does this upload my image anywhere?

No. The image is read into a canvas in your browser, every block is computed on that pixel data locally, and the PNG is generated on your device. Nothing is sent to a server, nothing is stored, and no account is required.

Why is the download a PNG and not a JPEG?

The output is flat blocks of solid colour with hard edges, which is exactly the high-frequency detail JPEG discards first. Saving it as JPEG would soften the block edges and ring around them, and it would put colours back into the file that the measured colour count says are not there. PNG is lossless, so the file is pixel-for-pixel what the preview shows, and large flat areas compress very well in PNG.

How is this different from the Dithering tool?

Dithering answers a different question: it reduces an image to a small number of levels and scatters the rounding error across neighbouring pixels so the eye mixes them back, which is why its output always looks quantised. Its block control is a secondary setting that stops at eight pixels and its levels always apply. Here the block is the subject — it goes to sixty-four pixels, colour reduction is optional and off by default, and you choose the rule that decides each block. Use dithering for a two-tone or few-colour look, this page for flat blocks.