One of the first questions when building a palette is: how many colors do I need? The answer depends on your project's complexity, but the range is narrower than most people expect.
The Minimum Viable Palette: 4 Colors
A simple website (portfolio, blog, small business) can work with just four colors: one primary, one light base, one dark base, and one accent. These four cover all essential functions: brand identity, backgrounds, text, and interactive highlights. Many elegant websites use nothing more than this.
The Standard Palette: 6-8 Colors
Most professional websites use six to eight colors: primary, supporting, one or two accents, light base, dark base, and one or two intermediate neutrals (mid-gray for borders, muted text). This range provides enough vocabulary for complex layouts without overwhelming the system.
The Extended Palette: 10-12 Colors
Complex applications (dashboards, ecommerce, enterprise tools) may need ten to twelve colors: the standard palette plus semantic status colors (error red, success green, warning amber, info blue). Each additional color must have a clear, documented purpose.
When More Is Too Many
Beyond twelve colors, each addition creates exponentially more pairings to validate for contrast, more states to design, and more opportunities for inconsistency. If you find yourself needing more than 12, ask whether some of the "colors" are actually shades or variants that should be derived from existing colors rather than defined independently.