Convert a PNG to the CGA palette
Drop a PNG and render it through an authentic CGA palette — the real fixed 4-color graphics modes, with proper dithering and an optional NTSC composite monitor. Download the result as a PNG. Everything happens in your browser; nothing is uploaded.
PNG to CGA, the right way
Reducing a PNG to CGA isn't just "snap every pixel to the nearest of four colors." Which four colors are even available is dictated by the hardware: a freely chosen background plus a fixed three-color group selected by the palette and intensity bits (palette 0 = green/red/brown, palette 1 = cyan/magenta/white), or the undocumented mode 5. This converter uses those authentic groups — the same data behind the CGA palette reference and mode simulator.
Then there's dithering, which fakes shades the four colors can't show. Floyd–Steinberg and Atkinson diffuse the quantization error for organic gradients; Bayer is an ordered pattern with a retro cross-hatch; none gives flat blocks. And if you switch the monitor control to NTSC composite, you'll see how the dithered dot-patterns blend into artifact colors on a TV — decoded properly, not faked. This is the same engine as the general image converter; for EGA output see the image-to-EGA converter.
All of it runs locally on a canvas — your PNG never leaves the browser, and the downloaded result is a clean PNG at the working resolution.
Frequently asked
- Is my PNG uploaded anywhere?
- No. Conversion happens in your browser with JavaScript and a canvas; the file stays on your device.
- Can I get the composite/TV look?
- Yes — set the monitor control to "NTSC composite". It decodes the real artifact colors from the dot pattern rather than sampling RGBI. See the composite simulator for a side-by-side.
- What about other formats?
- Any image your browser can open works (JPG, GIF, WebP, etc.), not just PNG. Output is always PNG.