A dashboard is not a landing page

Landing pages need one hero color and some contrast. Dashboards need colors that function across charts, tables, navigation, status indicators, tooltips, badges, and empty states. Simultaneously.

Grab five random colors and half your chart segments are indistinguishable. Your active tab looks like your error state. Your success badge blends into your background. Dashboards need a color system. Not a palette.

Every color has a job

Background Canvas and panel surfaces. The foundation everything sits on.
Text Labels, data values, headings. The information layer.
Accent CTAs, active states, primary actions. What demands attention.
Support Chart colors, secondary data, tags, badges. The visual variety layer.
Neutral Borders, dividers, disabled states, empty states. The structural layer.

Dense data demands high contrast

Dashboards display more text per square inch than any other UI pattern. Small labels on charts. Tiny numbers in table cells. Status text on colored badges. Every single pair needs 4.5:1 contrast minimum.

Paletter checks every text-on-background combination automatically. If a pair fails WCAG AA, you know before shipping. Not after a user complaint.

Your tokens. Your format.

CSS Variables

Custom properties for hand-built dashboards and custom frameworks. Drop into any stylesheet.

Tailwind

v4 @theme tokens for Tailwind-based admin templates. Shadcn, Tremor, you name it.

SCSS

Variables and maps for legacy codebases. Still works. Still valid.

COLORS.md

Complete spec for AI tools. Let Claude or Cursor build dashboard components on-brand.

Generate a dashboard palette

Roles, contrast ratios, and export tokens. Built for information density.

Generate a dashboard palette