WFP logoDesign System
Foundations

Colours

Colour palette, theme tokens, and usage guidance.

The colour system is built for consistency, accessibility, and brand alignment.

Colours are defined as design tokens – not hardcoded values – so updates to the palette propagate automatically across components. Wherever possible, use semantic tokens, such as primary, danger, border.

The perceptually uniform colour palette ensures that each shade number has consistent contrast across all colour scales. For example, primary-600, danger-600, and neutral-600 all have a contrast ratio of ~4.8:1.

Theme tokens

Theme tokens are the highest-level colour variables. They map directly to component styling – for example, background for page surfaces, foreground for default text, and primary for interactive elements.

These are the tokens you should reach for first when building interfaces.

PreviewTokenValueContrast :1
1
1.06
18.0
4.88
4.79
4.81
1.30
3.31

Semantic colours

Semantic colours express meaning – primary actions, neutral UI chrome, feedback states, and informational messaging. Each colour scale runs from 50 (lightest) to 950 (darkest).

In Tailwind, use them as utility classes such as text-primary-600, bg-muted, or border-danger-400.

Primary

The primary colours are used for links, buttons, focus rings, and other core interactive elements. They are mapped to the blue base colours.

PreviewTokenValueContrast :1
1.06
1.13
1.30
1.59
2.20
3.32
4.79
7.82
11.3
14.9
18.0

Neutral

The neutral colours provide backgrounds, borders, and text hierarchy for everyday UI.

PreviewTokenValueContrast :1
1.06
1.12
1.29
1.60
2.21
3.31
4.81
7.81
11.3
15.1
18.0

Neutral (alpha)

The neutral-alpha colours are semi-transparent equivalents of the neutral colours. They are designed for text, overlays, subtle borders, and muted text on various backgrounds.

PreviewTokenValueContrast :1
1.05
1.13
1.30
1.60
2.21
3.31
4.88
7.81
11.3
15.1
18.0

Danger

Use the danger colours for destructive actions, error states, and critical alerts.

PreviewTokenValueContrast :1
1.05
1.13
1.31
1.61
2.20
3.29
4.81
7.80
11.3
15.0
18.0

Warning

Use the warning colours for cautionary messages and non-critical alerts that need attention.

PreviewTokenValueContrast :1
1.06
1.13
1.30
1.59
2.20
3.30
4.81
7.83
11.3
15.0
18.0

Success

Use the success colours for positive feedback, confirmations, and completed states.

PreviewTokenValueContrast :1
1.05
1.13
1.30
1.61
2.19
3.30
4.79
7.80
11.3
15.0
17.9

Info

Use the info colours for neutral informational messaging and supplementary context.

PreviewTokenValueContrast :1
1.06
1.13
1.30
1.59
2.20
3.32
4.79
7.82
11.3
14.9
18.0

Base colours

The base colours are derived from the WFP brand colours and are mapped to many of the semantic colours.

Prefer semantic colours in component code. Reserve base colours for illustrations, data visualization, and brand-specific contexts.

Blue

The blue colour scale is derived from wfp-blue and wfp-navy.

PreviewTokenValueContrast :1
1.06
1.13
1.30
1.59
2.20
3.32
4.79
7.82
11.3
14.9
18.0

Aqua

The aqua colour scale is derived from wfp-aqua.

PreviewTokenValueContrast :1
1.06
1.13
1.30
1.60
2.21
3.30
4.79
7.81
11.3
15.0
18.0

Green

The green colour scale is derived from wfp-green and wfp-darkgreen.

PreviewTokenValueContrast :1
1.05
1.13
1.30
1.61
2.19
3.30
4.79
7.80
11.3
15.0
17.9

Ivory

The ivory colour scale is derived from wfp-ivory.

PreviewTokenValueContrast :1
1.05
1.14
1.31
1.61
2.20
3.29
4.80
7.80
11.3
14.9
17.9

Brown

The brown colour scale is derived from wfp-earthybrown.

PreviewTokenValueContrast :1
1.04
1.13
1.30
1.61
2.21
3.31
4.81
7.82
11.3
15.0
18.0

Orange

The orange colour scale is derived from wfp-orange.

PreviewTokenValueContrast :1
1.05
1.12
1.30
1.60
2.19
3.29
4.79
7.82
11.3
15.0
18.0

Red

The red colour scale is derived from wfp-red.

PreviewTokenValueContrast :1
1.05
1.13
1.31
1.61
2.20
3.29
4.81
7.80
11.3
15.0
18.0

Purple

The purple colour scale is derived from wfp-purple and wfp-burgundy.

PreviewTokenValueContrast :1
1.05
1.12
1.30
1.60
2.21
3.29
4.81
7.80
11.3
15.0
18.0

WFP brand colours

WFP brand colours represent the organization’s visual identity. Use them for logos, branded headers, and marketing materials – not as replacements for semantic tokens in UI components.

PreviewTokenValueContrast :1
4.50
13.5
3.80
7.91
4.02
1.31
5.15
3.54
4.88
6.42
8.66

Usage guidelines

  • Prefer tokens over hex values. See Usage guidelines for examples.
  • Check contrast. Use WebAIM: Contrast Checker. Ensure 4.5:1 contrast for text and 3:1 for graphics, per WCAG AA guidelines. For quick reference, the contrast column shows each colour’s contrast ratio against white.
  • Use semantic colour scales for UI states. Pair lighter backgrounds (100200) with darker text (700900) from the same colours for status messages and badges.
  • Keep brand colours for brand moments. UI chrome should use theme and semantic tokens so components stay consistent and maintainable.