Image to PICO-8 palette

Convert any picture to the 16-colour PICO-8 fantasy-console palette, with perceptual OKLab matching and your choice of dithering.

Floyd–Steinberg dithering example (1-bit, Great Wave)
Floyd–Steinberg
Bayer (ordered) dithering example (1-bit, Great Wave)
Bayer (ordered)
Jarvis–Judice–Ninke dithering example (1-bit, Great Wave)
Jarvis–Judice–Ninke

Try it on your image ↓

What is the PICO-8 palette?

PICO-8 is a fantasy console with a fixed 16-colour palette and a 128×128 screen; converting an image means mapping every pixel to one of those 16 colours, usually with dithering to suggest the missing shades.

How to do it

Convert any picture to the 16-colour PICO-8 fantasy-console palette, with perceptual OKLab matching and your choice of dithering.

  1. Open or drop an image (a sample is preloaded).
  2. The preset above is already applied. Adjust contrast, palette and strength to taste.
  3. Compare with other algorithms from the Algorithm menu.
  4. Download PNG (free up to 1000px) or SVG/GIF with Pro.

Frequently asked questions

How do I keep colours natural with only 16 colours?

Use OKLab matching (the default) — it measures colour distance the way the eye perceives it, so skin and skies map to sensible palette entries.

Should I use Bayer or Floyd–Steinberg for PICO-8?

Bayer 4×4 looks more like hand-made PICO-8 art and stays stable in animation; Floyd–Steinberg preserves more detail for still images.

Can I export at 128×128?

Yes: resize your image to 128 px wide before loading, or set pixel scale, then export PNG.

Is my image uploaded?

No. The dither runs locally in your browser; nothing is sent to a server.

Is it free?

Yes. Every algorithm previews free and PNG exports up to 1000px are free with no watermark or signup. Pro ($5 for 30 days, USDC) adds print-resolution exports, SVG, GIF and video.