Skip to content
AI Sprite Maker

Image to Pixel Art

Turn a photo, painting or AI render into real pixel art at an exact size and a palette you choose.

  • Free
  • Runs locally
  • No sign-up
Drop an image
PNG, JPG, WebP or GIF. Concept art, photos, renders, or AI images that only look like pixel art.
Choose file
Runs in your browser · nothing is uploaded

Everything runs in your browser. Your files are never uploaded, so it also works offline once the page has loaded.

A pixelate filter makes big blurry squares. Pixel art is something else: every pixel is a deliberate colour from a small palette, at the size the game draws it. This converter downscales to an exact pixel size, then snaps colours to a palette learned in OKLab (a colour space where equal steps look equal) or to a classic palette such as PICO-8, NES or Endesga 32. It can also spot when an image is already pixel art that was scaled up, and restore its real pixels instead of resampling them.

How to use the Image to Pixel Art

  1. Drop an image. If it is upscaled pixel art (common with AI outputs and screenshots), the tool detects the scale and restores the real pixel grid.
  2. Set the width in pixels. Height follows the aspect ratio. Typical sprite sizes are 16, 32, 48 or 64 px.
  3. Pick Sampling: Smooth averages each block, which suits photos and paintings. Sharp takes each block's dominant colour, which keeps line art and flat shapes crisp. Nearest takes one pixel per block.
  4. Choose a palette: let the tool learn N colours from the image, pick a preset, or keep all colours.
  5. Add ordered or Floyd–Steinberg dithering for gradients, adjust brightness, contrast and saturation, remove a flat background, and add a 1px outline.
  6. Download the 1× PNG for your game, an upscaled copy for sharing, and the palette as .hex or .gpl.

What you get

  • 1× PNG at the exact size you set, with binary alpha (every pixel fully opaque or fully clear).
  • Upscaled PNG at 2×–16× with nearest-neighbour scaling, for posts, store pages and mockups.
  • Palette files: Lospec-style .hex and GIMP/Aseprite .gpl with the colours actually used.

Which engines it fits

  • Import the 1× PNG and scale it in the engine with nearest-neighbour filtering: Filter Mode Point in Unity, Nearest texture filter in Godot, pixelArt: true in Phaser.
  • Load the .gpl or .hex into Aseprite, LibreSprite or Pyxel Edit to keep drawing with the same palette.

Tips from making games with it

  • Crop to the subject before converting. Empty space wastes pixels you could spend on the character.
  • Fewer colours read better at small sizes: 8–16 colours for a 32 px sprite, 16–32 for a 64 px portrait.
  • Raise contrast and saturation a little before reducing. Downscaling averages colours toward grey.
  • Use Sharp sampling for logos, UI, line art and anything with outlines. Use Smooth for photos and soft paintings.
  • Dithering helps big gradients like skies. On small sprites it usually adds noise, so start without it.
  • Using a preset palette across all your assets keeps a game's look consistent even when the sources differ.

Use cases

  • Cleaning up AI-generated "pixel art" that has blurry, uneven pixels into a true grid with a fixed palette.
  • Making a pixel-art avatar, portrait or item icon from a photo or sketch.
  • Converting concept art into a base sprite to repaint by hand.
  • Restyling assets into a console look with the NES, Game Boy or PICO-8 palette.

FAQ

What makes this different from a pixelate filter?
A pixelate filter keeps every colour and leaves the image at full size with large blocks. This tool outputs the image at its real pixel size with a limited palette, binary transparency and optional outline, which is what a pixel-art sprite actually is.
How does it choose colours?
In Learn mode it runs k-means clustering in OKLab space, weighted by how many pixels use each colour, so the palette spends colours where the image needs them. With a preset, each pixel snaps to the nearest preset colour in OKLab.
Can it fix AI pixel art with uneven pixels?
If the image is built on a regular grid, the tool detects the pixel size and restores the grid exactly. If the pixels are uneven, set the width to the intended size and use Sharp sampling: it takes the dominant colour of each block, which removes most of the smudging.
Which palettes are included?
PICO-8, Game Boy, NES, Endesga 32, Sweetie 16, DawnBringer 16 and 32, CGA, 1-bit and a 4-step grayscale. You can also learn any number of colours from 2 to 64 from the image itself.
Is the image uploaded?
No. All processing runs in a background worker in your browser. Your image never leaves your device.
Can I make a whole sprite sheet in one go?
Yes, use the Video to Sprite Sheet or Sprite Sheet Maker tools with their pixelate options, which share one palette across every frame so colours do not flicker.
All free tools →