---
title: Colors
description: 'Immutable, atomic CSS classes to rapidly build product'
status: Stable
status_issue: 'https://github.com/github/design-systems/issues/97'
---
import {Box, BorderBox} from '@primer/components'
import {palettes, allColors} from '../../src/color-variables'
import {PaletteTable, PaletteTableFragment, PaletteHeading, PaletteCell, PaletteValue} from '../../src/color-system'
Use color utilities to apply color to the background of elements, text, and borders.
## Background colors
Background colors are most commonly used for filling large blocks of content or areas with a color. When selecting a background color, make sure the foreground color contrast passes a minimum WCAG accessibility rating of [level AA](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html). Meeting these standards ensures that content is accessible by everyone, regardless of disability or user device. You can [check your color combination with this demo site](https://colorable.jxnblk.com/). For more information, read our [accessibility standards](../principles/accessibility).
### Background utilities
{palettes.map(({name, title, value}) => (
{title}
))}
## Text colors
Use text color utilities to set text or [Octicons](https://octicons.github.com) to a specific color. Color contrast must pass a minimum WCAG accessibility rating of [level AA](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html). This ensures that viewers who cannot see the full color spectrum are able to read the text. To customize outside of the suggested combinations below, we recommend using this [color contrast testing tool](https://colorable.jxnblk.com/). For more information, read our [accessibility standards](../principles/accessibility).
These are our most common text with background color combinations. They don't all pass accessibility standards currently, but will be updated in the future. **⚠️ Any of the combinations with a warning icon must be used with caution**.
### Text color inheritance
You can set the color inheritance on an element by using the `text-inherit` class.
```html live
This text is purple,
including the link
```
### Text on white background
```html live
.text-blue
.text-gray-dark
.text-gray
.text-gray-light
.text-red
.text-orange
.text-orange-light
⚠️
.text-yellow
⚠️
.text-green
.text-purple
```
### Text on colored backgrounds
```html live
.text-white on .bg-blue
.text-gray-dark on .bg-blue-light
.text-white on .bg-red
.text-red on .bg-red-light
.text-gray-dark on .bg-green-light
.text-gray-dark on .bg-yellow-dark
.text-gray-dark on .bg-yellow
.text-gray-dark on .bg-yellow-light
.text-white on .bg-purple
.text-white on .bg-gray-dark
.text-gray-dark on .bg-gray
```
### Text color utilities
},
'variable',
{title: 'Value', Cell: PaletteCell.Background, Value: PaletteValue.Value}
]}>
{palettes.map(({name, title, value}) => (
},
'variable',
{title: 'Value', Cell: PaletteCell.Background, Value: PaletteValue.Value}
]}>
{title}
))}
## White background
You can make a background explicitly white (`#fff`) with the `bg-white` utility:
```html live
.bg-white over .bg-gray-dark
```
## Link colors
Base link styles turn links blue and apply an underline on hover. You can override the base link styles with text color utilities and the following link utilities. **Bear in mind that link styles are easier for more people to see and interact with when the changes in styles do not rely on color alone.**
Use `link-gray` to turn the link color to `$text-gray` and remain hover on blue.
```html live
link-gray
```
Use `link-gray-dark` to turn the link color to `$text-gray-dark` and remain hover on blue.
```html live
link-gray-dark
```
Use `.muted-link` to turn the link light gray in color, and blue on hover or focus with no underline.
```html live
muted-link
```
Use `link-hover-blue` to make any text color used with links to turn blue on hover. This is useful when you want only part of a link to turn blue on hover.
```html live
A link with only part of it is blue on hover.
```
## Border colors
Border colors are documented on the [border utilities page](../utilities/borders#border-width-style-and-color-utilities).