Framebuffers have traditionally supported a wide variety of color modes. Due to the expense of memory, most early framebuffers used 1-bit (2- colors per pixel), 2-bit (4- colors), 4-bit (16- colors) or 8-bit (256- colors) color depths. The problem with such small color depths is that a full range of colors cannot be produced. The solution to this problem was [[indexed color]] which adds a [[lookup table]] to the framebuffer. Each color stored in framebuffer memory acts as a color index. The lookup table serves as a palette with a limited number of different colors meanwhile the rest is used as an index table.
Here is a typical indexed 256-color image and its own palette (shown as a