BlockPixelArt

Pixel art converter

Convert an image into pixel art that hits a fixed palette at a fixed resolution — the two things a sprite has to get right.

Drop an image here

Or choose a file. Your image is processed in your browser and never uploaded.

How to use it

  1. Load the image you want to convert

    Drag it onto the canvas or click to browse. Concept art, 3D renders, and photos all convert well; line art with hairline strokes needs a smaller pixel size to survive.

  2. Decide the output resolution

    Pixel size divides the source, so a 1024px image at pixel size 16 converts to a 64px sprite. The status bar under the canvas shows the exact output dimensions before you export.

  3. Lock the palette

    Choose a hardware palette or a grayscale ramp. Every output colour then comes from that set — no in-between shade sneaks through the conversion.

  4. Export at true resolution

    Small writes one file pixel per art pixel, which is what an engine, a tileset, or a texture atlas expects. Large is for showing the work off, not for shipping it.

What people use it for

  • Concept art to in-game sprites

    Convert a painted mock-up down to the resolution your engine actually renders at, before anyone spends a week hand-placing pixels.

  • Matching an existing project palette

    Run every new asset through the same palette so sprites drawn months apart still look like they belong to one game.

  • Logos and icons at small sizes

    Convert a mark to 32×32 or 16×16 and see immediately which details survive and which have to be redrawn by hand.

  • 1-bit art for e-ink and Playdate

    The 1-bit palette with Atkinson dithering is the exact combination those displays were designed around.

  • Textures for low-poly and PS1-style scenes

    A quantised, dithered texture sells the era far better than a downscaled photograph does.

Why this one

  • The output resolution is exact, not approximate

    Output dimensions are the source divided by the pixel size, shown before export. There is no hidden resampling on the way out to soften what you saw.

  • Palette conformance is guaranteed

    Matching runs through a lookup table built from your palette, so every exported pixel is a palette entry. That is a property of the algorithm, not something you have to spot-check.

  • OKLab or RGB matching

    OKLab follows perceived difference and is the better default. Plain RGB is there for when you need to reproduce what an older tool produced.

  • Seven dither modes

    Error diffusion for smooth gradients, ordered Bayer matrices for a deliberate screen-door look, and off when you want flat blocks.

  • No upload, no queue, no rate limit

    Conversion happens in a Web Worker on your machine, so trying twenty variants costs you nothing but the keystrokes.

Frequently asked questions

What is the difference between pixelating and converting?
Pixelating only enlarges blocks — the colours stay exactly as they were. Converting also maps every block to a chosen palette, and that colour reduction is what makes the result read as pixel art instead of a mosaic filter.
Does it preserve transparency?
Yes. Pixels below the alpha threshold stay fully transparent in the exported PNG, so a converted sprite drops straight into an atlas without a halo around it.
How large an image can I convert?
Anything your browser can decode. The source is scaled to 2048px on the long edge first, which is already far more detail than any sprite resolution can use.
Which palette should I choose?
If you are matching a target platform, use its hardware palette. Otherwise start from Grayscale 8 to check that the values read correctly, then switch to colour once the shapes work.
Can I keep the original colours?
Yes — leave the palette off. You still get block quantisation and optional dithering, just without any colour reduction.

More pixel art tools

Same engine, same privacy, different job. Nothing here needs an account.