Stage 05 · colour select
Retro console palettes
The colours of the NES, Game Boy, PICO-8, CGA and Commodore 64, with hex codes to copy and palette files for Aseprite, GIMP, Krita and your game engine.
The Nintendo Entertainment System's picture chip (the 2C02 PPU) has 64 palette entries, numbered $00 to $3F, in four rows of brightness. It produces an analogue TV signal rather than RGB, so this is one widely used RGB rendering. A game can show up to 25 of these at once: a shared background colour plus four 3-colour background palettes and four 3-colour sprite palettes.
NES (2C02)
64 entries · 55 distinct colours
#7c7c7c$00#0000fc$01#0000bc$02#4428bc$03#940084$04#a80020$05#a81000$06#881400$07#503000$08#007800$09#006800$0A#005800$0B#004058$0C#000000$0D#000000$0E#000000$0F#bcbcbc$10#0078f8$11#0058f8$12#6844fc$13#d800cc$14#e40058$15#f83800$16#e45c10$17#ac7c00$18#00b800$19#00a800$1A#00a844$1B#008888$1C#000000$1D#000000$1E#000000$1F#f8f8f8$20#3cbcfc$21#6888fc$22#9878f8$23#f878f8$24#f85898$25#f87858$26#fca044$27#f8b800$28#b8f818$29#58d854$2A#58f898$2B#00e8d8$2C#787878$2D#000000$2E#000000$2F#fcfcfc$30#a4e4fc$31#b8b8f8$32#d8b8f8$33#f8b8f8$34#f8a4c0$35#f0d0b0$36#fce0a8$37#f8d878$38#d8f878$39#b8f8b8$3A#b8f8d8$3B#00fcfc$3C#f8d8f8$3D#000000$3E#000000$3F
The original Game Boy (DMG-01, 1989) shows four shades on a greenish reflective LCD. The hardware only knows shade numbers 0 to 3, so these four greens are the common approximation of how the screen looks. Game Boy sprites use three of the four shades, because shade 0 is transparent for them.
Game Boy (DMG-01)
4 colours
#0f380fdarkest#306230dark#8bac0flight#9bbc0flightest
PICO-8 is a fantasy console by Lexaloffle with a fixed 16-colour palette, listed in its manual. Because the colours are defined exactly, these hex values match what PICO-8 shows. The colour names are the ones the PICO-8 community usually uses.
PICO-8
16 colours
#0000000 black#1d2b531 dark-blue#7e25532 dark-purple#0087513 dark-green#ab52364 brown#5f574f5 dark-grey#c2c3c76 light-grey#fff1e87 white#ff004d8 red#ffa3009 orange#ffec2710 yellow#00e43611 green#29adff12 blue#83769c13 lavender#ff77a814 pink#ffccaa15 light-peach
IBM's Color Graphics Adapter (1981) builds 16 colours from red, green, blue and an intensity bit. Colour 6 would be a dark yellow, but IBM monitors turned it into brown, which is the version listed here. In the 320 × 200 graphics mode a program picks one of the four-colour sets below; the background is black by default but can be any of the 16.
CGA 16 colours
16 colours
#0000000 black#0000aa1 blue#00aa002 green#00aaaa3 cyan#aa00004 red#aa00aa5 magenta#aa55006 brown#aaaaaa7 light grey#5555558 dark grey#5555ff9 light blue#55ff5510 light green#55ffff11 light cyan#ff555512 light red#ff55ff13 light magenta#ffff5514 yellow#ffffff15 white
CGA mode 4, palette 1, high intensity
4 colours
#000000background (black)#55fffflight cyan#ff55fflight magenta#ffffffwhite
CGA mode 4, palette 1, low intensity
4 colours
#000000background (black)#00aaaacyan#aa00aamagenta#aaaaaalight grey
CGA mode 4, palette 0, high intensity
4 colours
#000000background (black)#55ff55light green#ff5555light red#ffff55yellow
CGA mode 4, palette 0, low intensity
4 colours
#000000background (black)#00aa00green#aa0000red#aa5500brown
The Commodore 64's VIC-II chip has 16 fixed colours. Like the NES it outputs a video signal, so RGB versions differ; this is Philip "Pepto" Timmermann's widely used set, calculated from measurements of the chip's output, which many emulators adopted.
Commodore 64 (Pepto)
16 colours
#0000000 black#ffffff1 white#68372b2 red#70a4b23 cyan#6f3d864 purple#588d435 green#3528796 blue#b8c76f7 yellow#6f4f258 orange#4339009 brown#9a675910 light red#44444411 dark grey#6c6c6c12 grey#9ad28413 light green#6c5eb514 light blue#95959515 light grey
Convert your own palette
Paste hex codes or open a palette file, then download it in another format.
GIMP .gpl, .hex (one RRGGBB per line), Paint.NET .txt, a JSON array, CSS or any text with hex codes or rgb() colours.
No colours yet
Using a retro palette
Click any colour to copy its hex code. Each palette can be downloaded in five formats: GPL (GIMP palette, also opened by Aseprite, Krita, Inkscape and LibreSprite), HEX (one code per line), PNG (a strip of swatches; choose 1 px per colour when a program loads palettes from images), JSON (an array of hex strings, with names and NES index numbers where the palette has them) and CSS custom properties.
Working inside a real console's limits is part of the look. On the NES each 16 × 16 pixel area of the background uses one 3-colour palette plus the shared background colour, and a sprite has three colours plus transparency. Game Boy art lives in four shades, so contrast does all the work. PICO-8 and the C64 give you 16 colours for the whole screen. Picking a palette first and sticking to it is the quickest way to make a set of sprites look like they belong together.
For a picture rather than a drawing, use image to pixel art: it maps every pixel to the palette you choose and can dither to suggest in-between colours. To draw by hand, pick the same palette in the pixel art editor.
Sources
- NESdev Wiki, PPU palettes: the 64 entries, why the NES has no single RGB palette, and the $0D black.
- Pan Docs, Palettes: the Game Boy's four shades and sprite transparency.
- Lexaloffle, PICO-8 User Manual: the 16-colour palette.
- Wikipedia, Color Graphics Adapter: the RGBI colours, the brown adjustment and the 320 × 200 four-colour palettes.
- Philip Timmermann, Calculating the color palette of the VIC II: the Commodore 64 values.
Questions
Are these the exact colours of the real consoles?
PICO-8 and CGA colours are defined digitally, so their hex values are standard. The NES and the Commodore 64 send an analogue TV signal and the original Game Boy has a greenish LCD, so any RGB version of those is an approximation. The sets here are widely used ones; emulators offer many variants.
Which file format should I download?
GPL for GIMP, Aseprite, Krita and Inkscape. HEX for Lospec-style lists and Aseprite. PNG with one pixel per colour for tools that load a palette from an image. JSON for your own code, and CSS for web projects.
Why does the NES table repeat black?
The NES has 64 palette entries, but several of them all display black. The table keeps the hardware order so the $ index numbers line up with what you write in code, and the downloads list each distinct colour once. Avoid $0D on real hardware: that black is darker than the TV expects.
Can I draw with these palettes?
Yes. The pixel art editor has PICO-8, Game Boy, NES, Commodore 64 and CGA in its palette menu, and image to pixel art can convert a picture to any of them, with dithering if you like.