# Pixel Art Image Converter > Convert images into pixel art with palettes, dithering and retro effects. Resize a photo or drawing, adjust its colors, and apply an automatic or imported palette with ordered or error-diffusion dithering. Download a transparent PNG, editable pixel sprite and reusable recipe. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://fliplinepixelquantizer.usefulweb.site/ (interactive tool at https://fliplinepixelquantizer.usefulweb.site/tool) - JSON API: POST https://fliplinepixelquantizer.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://fliplinepixelquantizer.usefulweb.site/api/v1/tool) - OpenAPI: https://fliplinepixelquantizer.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://fliplinepixelquantizer.usefulweb.site/mcp - tool `flipline_pixel_quantizer` ## Inputs - image (file, required): Image (PNG, JPEG or WebP) - width (integer): Pixel canvas width - height (integer): Pixel canvas height - colors (integer): Automatic palette colors - palette (textarea): Custom HEX, GPL or JASC-PAL palette (optional) - alpha (integer): Alpha threshold - scale (integer): PNG integer scale - fit (select): Image fit - dither (select): Dithering - strength (number): Dither strength (%) - brightness (number): Brightness - contrast (number): Contrast - gamma (number): Gamma - saturation (number): Saturation (%) - red (number): Red shift (RGB units) - green (number): Green shift (RGB units) - blue (number): Blue shift (RGB units) ## Method - Auto-orient and convert the source to sRGB, then sample native output pixels using nearest-neighbor fit, centered fill or stretch. Images are limited to 4 MB and 2 MP. - Apply RGB offsets, brightness and contrast, gamma, then saturation. Palette matching uses squared sRGB distance with first-entry tie-breaking. Automatic palettes select frequent adjusted colors. - Ordered dithering uses a 4 × 4 Bayer bias. Serpentine Floyd–Steinberg distributes errors with 7/16, 3/16, 5/16 and 1/16 weights; transparent pixels neither receive nor spread errors. Strength zero equals no dithering. - Alpha below the threshold becomes transparent. PNG integer scaling repeats pixels exactly. Dithering runs on native pixels and does not change with preview zoom or export scale.