CGA Colour Palette
Cyan, magenta, white and black. This page lists every colour in the CGA palette used by the 8-bit photo converter, with hex and RGB values, explains where the palette came from and how the tool maps a photo onto it, and shows what it does to a real image.
Published 5 September 2026
- Machine
- IBM PC with Colour Graphics Adapter
- Released
- 1981
- Screen
- 320 × 200 pixels in four-colour mode
- Colours
- 4 on screen from a fixed set of palettes
- Mapping in the converter
- Nearest colour by RGB distance
Why early PC games were cyan and magenta
IBM's Colour Graphics Adapter was the first colour display card for the IBM PC, released in 1981, and it was designed with business text in mind rather than games. It could show 16 colours in text mode, but its 320 × 200 graphics mode allowed only four colours at once, and you could not even choose them freely. There were two fixed palettes: one with green, red and brown, and one with cyan, magenta and white, each at a normal or a high-intensity level, plus a background colour of your choice. Most game developers picked the cyan-and-magenta palette at high intensity, because it was the brightest and offered the most contrast, and that combination became the look of an entire generation of PC games.
The converter uses that famous high-intensity palette 1: black, light cyan, light magenta and white. It is the palette most people mean when they say "CGA colours".
The colours
CGA colours were defined digitally, as an on-or-off bit for red, green, blue and intensity, so unlike the NES and C64 these values are exact. The high-intensity colours use 85 (hex 55) for the "off" channels rather than 0, which is why light cyan and light magenta look slightly washed rather than pure.
The trick that made CGA look better than it was
On a composite monitor or a television, rather than IBM's RGB monitor, CGA's high-resolution 640 × 200 mode produced coloured fringes as an artefact of how the signal was encoded. Clever developers exploited this "artefact colour" to get a genuinely different set of 16 colours out of a card that was only supposed to show four. The converter does not simulate that. What you get here is the straight RGB-monitor look, with its harsh, almost neon quality.
How the converter maps a photo to it
Each block takes the nearest of the four colours by RGB distance. With just four to choose from, the outcome is mostly decided by brightness and by whether a colour leans blue-green or red-blue. Dark areas become black, bright areas become white, cool mid-tones become cyan and warm or purplish mid-tones become magenta. Reds, oranges and yellows all end up magenta or white, and greens end up cyan or black.


The test scene shows how much is thrown away. The sky and sun become magenta and white, the hills and sea become black, and the five spheres, which were five colours, become three magenta and two cyan with white highlights. It is a bold, graphic result, and it is exactly what a photo would have looked like on a 1980s PC. It is not subtle, and it is not meant to be.
Which photos suit it
- Silhouettes and high-contrast shots. A dark figure against a bright sky becomes a striking black-on-magenta or black-on-cyan image.
- Neon, synthwave and club photography. Pink and blue lighting already lives in this palette.
- Logos, text and posters. Simple shapes take on a deliberate, printed feel.
Portraits are difficult. Skin lands on magenta or white and faces lose their shape unless the lighting is strong and directional. Landscapes lose almost all of their colour information.
Tips for better results
- Increase the contrast of your source first. CGA rewards images that are mostly very dark or very light with little in between.
- Use a fairly large pixel size. The four colours are already dramatic, and big blocks make the result read as intentional rather than noisy.
- If you want a similar bold look with more colours, ZX Spectrum is the natural next step. If you only want two, the Black & White option gives a 1-bit result.
Try the CGA palette on one of your own photos. Free, instant, and nothing gets uploaded.
CONVERT WITH CGA