Drop in any image and snap it to a limited palette, from 2 colours up to 64. Add dithering if you want the shading back. Download the PNG and the palette as a .hex file.
A sprite, a screenshot, a photo, a render. Anything up to 4 megapixels. It never leaves your browser.
The slider sets how many colours survive. The tool builds the palette from the image itself, so the result keeps the look of the original rather than forcing a stock palette on it.
Dithering trades flat colour for a fine pattern that fakes extra shades. Great for photos and gradients, usually wrong for a clean sprite. Try both and hold the ORIGINAL button to compare.
Colour count is the single biggest tell between "pixel art" and "a small blurry picture". A sprite with 12 deliberate colours reads as drawn on purpose; the same sprite with 400 near-duplicate shades reads as a thumbnail. Reducing colours also shrinks PNG file size, makes recolouring trivial, and is the first step before locking a whole game to one palette.
Typical numbers: 4 to 8 for tiny icons and items, 8 to 16 for characters, 16 to 32 for tilesets and backgrounds. If you are matching an existing style like the Game Boy or PICO-8 palettes, use the dithering tool instead, which maps to a fixed preset rather than building the palette from the image. And if you want new sprites drawn with these exact colours from the start, paste the .hex file into the palette lock in SpriteLab.
Yes. It runs entirely in your browser, so there is no account, no upload and no limit. Nothing leaves your machine.
Most game sprites sit between 8 and 16 colours. Small icons look cleanest at 4 to 8, larger characters and scenes can use 24 to 32. Fewer colours read as more deliberate pixel art.
Use it when you are reducing a photo or a smooth gradient and want to keep the sense of shading. Leave it off for clean sprites, where dither noise makes edges look fuzzy. Bayer gives a regular pattern, Floyd-Steinberg looks more organic.
The tool looks at every opaque pixel and splits the colour range into boxes weighted by how often each colour appears, then takes the average of each box. Common colours get more of the palette, rare ones get folded into their nearest neighbour.
It lists one hex colour per line, the format most pixel art editors import directly. Load it as a palette in Aseprite, Pixelorama or Lospec, or paste it into SpriteLab's palette lock so new sprites use the same colours.
Pull every hex colour out of an image and export it as .hex, .gpl or .pal.
Map an image to Game Boy, PICO-8 or your own palette with Bayer or Floyd-Steinberg dither.
Resample any photo or logo onto a real pixel grid at the width you choose.
Open SpriteLab to keep building with your sprites.