Color bit depth, Glossary and Palettes

Color Depth or Bit Depth is a term that means a number of bits allocated to completely define a color for a single pixel (bpp bits-per-pixel). The more memory we use for a color definition - the more accurate color will we have - the wider range of colors hues and shades we can display.

This approach used for a simple bitmap image only. More complex photo or video formats has a bit different concept to compress data size. There are bits-per-color, bits-per-channel, bits-per-component, bits-per-sample, etc concepts with quite the same idea.

Visual Bit Depth Color Difference

Bit Depth Explorer

Switch palette
to check a difference

1-6 bit colors

A low bit color depth typically takes a small amount of memory. It is more efficient to have a predefined color palette and use the only index of a single color to define a pixel. Early computer systems use hardware defined palette of such colors.

Monochromatic - Gray Scale

1bit(2 colors) - typically black and white.
rgb(0,0,0) rgb(255,255,255)
2bit(4 colors) - a range of gray colors.
rgb(0,0,0) rgb(84,84,84) rgb(171,171,171) rgb(255,255,255)
4bit(16 colors) - produce much better quality of monochrome images. More smooth color borders.
rgb(0,0,0) rgb(18,18,18) rgb(33,33,33) rgb(51,51,51) rgb(69,69,69) rgb(84,84,84) rgb(102,102,102) rgb(120,120,120) rgb(135,135,135) rgb(153,153,153) rgb(171,171,171) rgb(186,186,186) rgb(204,204,204) rgb(222,222,222) rgb(237,237,237) rgb(255,255,255)

8bit(256 colors) - a full range grayscale palette. It has the same amount of gray shades as standard 24bit rgb color space. Most modern scanners use the current scheme to capture images.

RGB Colors depth

The minimum bit depth for RGB colors is 3(1bit per R, G, B channel). More about RGB color scheme.

3bit(8 colors) - bit per channel. Only one state (0/1) for each R G B color. Produce 8 colors include white and black. White mean all bits have 1 value. Black - all bits switched 'off'(0). In practice, different systems that use a 3bit palette have different indexed color values. It very depends on screen/system implementation.

Here you can see computed 3bit palette converted to a 24bit palette.
rgb(0,0,0) rgb(0,0,255) rgb(0,255,0) rgb(0,255,255) rgb(255,0,0) rgb(255,0,255) rgb(255,255,0) rgb(255,255,255)
6bit(64 colors) - 2bits each color components.
rgb(0,0,0) rgb(0,0,85) rgb(0,0,170) rgb(0,0,255) rgb(0,85,0) rgb(0,85,85) rgb(0,85,170) rgb(0,85,255) rgb(0,170,0) rgb(0,170,85) rgb(0,170,170) rgb(0,170,255) rgb(0,255,0) rgb(0,255,85) rgb(0,255,170) rgb(0,255,255) rgb(85,0,0) rgb(85,0,85) rgb(85,0,170) rgb(85,0,255) rgb(85,85,0) rgb(85,85,85) rgb(85,85,170) rgb(85,85,255) rgb(85,170,0) rgb(85,170,85) rgb(85,170,170) rgb(85,170,255) rgb(85,255,0) rgb(85,255,85) rgb(85,255,170) rgb(85,255,255) rgb(170,0,0) rgb(170,0,85) rgb(170,0,170) rgb(170,0,255) rgb(170,85,0) rgb(170,85,85) rgb(170,85,170) rgb(170,85,255) rgb(170,170,0) rgb(170,170,85) rgb(170,170,170) rgb(170,170,255) rgb(170,255,0) rgb(170,255,85) rgb(170,255,170) rgb(170,255,255) rgb(255,0,0) rgb(255,0,85) rgb(255,0,170) rgb(255,0,255) rgb(255,85,0) rgb(255,85,85) rgb(255,85,170) rgb(255,85,255) rgb(255,170,0) rgb(255,170,85) rgb(255,170,170) rgb(255,170,255) rgb(255,255,0) rgb(255,255,85) rgb(255,255,170) rgb(255,255,255)

8/9-bits RGB

8bit is an edge. Here is become not efficient to keep the colors table in memory. It is a quite limited true color system with a 256 color range. Combine 3 colors channels RGB, R and G - 3bit(8 levels), B - 2bits(3 bits in case of 9bit color). Blue channel has a limited amount of levels due to human eye limitation.

Developed for VGA standard in 1987, but still in use for systems with limited bandwidth or memory capacity.

12/15/18 bits RGB

Better quality RGB palette, grown up a number of bits per color component. 4/5/6 bits per RGB channel respectively.

High color (16-bit color)

Not regular color palette. Usually 5bit per for Red and Blue and 6bits for Green component. Which produces 65.536 different colors. The human eye better determines Green color, this approach save 2bits per pixel. This kind of system for saving image data was very popular before the True Color standard was presented.

True Color (24-bit)

24-bit color depth becomes a worldwide minimal standard for all kinds of screens. It is the default Color standard for all development platforms.

Memory usage - 24bit per pixel mean 8bits per RGB color channel. Sometimes it takes up to 32bits including alpha color component. Such an amount of bits provides 16,777,216 colors. This value is close to the human eye determining level.

Deep Colors

Deep Colors - 30/32/48-bit color depth produce more than 1billion colors. It has 10/12/16 bits per color channel. And can take up to 64bit per color including alpha level.

This standard uses for photo/video software like Photoshop.

Color Depth Table

1bit 2 Monochrome Monochrome Monitors, IBM Personal Computer
2bit 4 Grayscale Game Boy, Amazon Kindle, Apple PowerBook 150
3bit 8 RGB Text Terminals Teletext, Macintosh SE, BBC Micro
4bit 16 RGBI (3bit RGB + intensity) ZX Spectrum, MOS Technology 8563
4bit 16 Grayscale Macintosh PowerBook, Macintosh PowerBook 5300, Amstrad CPC
6bit 64 RGB IBM PC/AT, SEGA Master System
8bit 256 Grayscale Most Modern Scanners, TIFF, JPEG, Alpha Channel masks
8bit 256 RGB (3*3*2) Wear OS, SGI Indy
9bit 512 RGB Atari ST, Genesis Nomad
12bit 4.096 RGB Apple IIGS, Game Gear
15bit 32.768 RGB, High Color, Thousands of colors Super Nintendo Entertainment System, Game Boy Color, Nintendo DS
16bit 65.536 RGB (32*64*32), High Color, Thousands of colors Modern Video Cards and OS
18bit 262.144 RGB Atari Falcon, VGA, LCD Monitors
24bit 16.777.216 RGB, True Color, Millions of colors SVGA(Super VGA), Nintendo Switch, PlayStation
30bit 1.073.741.824 RGB Only few Video Cards and OS support