Color reference

#312129 color reference

Muted Dark Red

This is a muted, dark red under the deterministic OKLCH hue, lightness, and chroma ranges. Its closest standardized CSS named color is Midnight Blue (#191970), measured with straight-line OKLab distance.

Descriptive label
Muted Dark Red
Recommended text
White · 15.22:1
Relative luminance
0.019008
Formats UI preview Contrast 50–900 scale Harmonies Matches Related colors Color vision Exports

Copyable values

#312129 in common color formats

Values are calculated from the same opaque sRGB color. Display rounding does not alter the internal calculations.

Color conversions for #312129
Format Value Action
HEX #312129
RGB rgb(49 33 41)
HSL hsl(330 19.51% 16.08%)
HSV hsv(330 32.65% 19.22%)
HWB hwb(330 12.94% 80.78%)
XYZ D65 color(xyz-d65 0.022106 0.019008 0.023483)
LAB lab(14.9971% 9.1057 -2.1683)
LCH lch(14.9971% 9.3603 346.6055)
OKLAB oklab(27.0475% 0.027353 -0.005974)
OKLCH oklch(27.0475% 0.027998 347.6807)

Real-world test

Try #312129 on interface components

Preview the source as a primary action, subtle status, form treatment, and card surface. Persistent state controls help touch and keyboard users inspect the same normal, hover, and active colors.

Normal state uses #312129 with white text at 15.22:1.

Action

Primary button

Use the controls above or point to and press the button to inspect its visual states.

Status

Subtle alert badge

A 12% source tint over white provides the background; readable text is selected separately.

Ready for review

Form

Border and focus ring

Source ring on white: 15.22:1 · meets the 3:1 non-text threshold where applicable.

Surface

Card component

The selected state becomes the card surface with its strongest black-or-white text pairing.

Design system Color decision ready Review states and surrounding surfaces before shipping.

Accessibility diagnostics

WCAG contrast for exact color pairs

Each result applies only to the named foreground, background, text size, and requirement. It is not a complete accessibility or component-conformance claim.

Source #312129 Exact pair assessment Results for source text on white appear below.

On white

15.22:1

  • Pass AA normal text · 4.5:1
  • Pass AAA normal text · 7:1
  • Pass AA large text · 3:1
  • Pass UI/non-text where applicable · 3:1
Source #312129 Exact pair assessment Results for source text on black appear below.

On black

1.38:1

  • Fail AA normal text · 4.5:1
  • Fail AAA normal text · 7:1
  • Fail AA large text · 3:1
  • Fail UI/non-text where applicable · 3:1

Use guidance

What this color may be suitable for

Pass in a tested context

Normal-sized text

#312129 reaches 14.56:1 on Hue Codex paper, meeting WCAG AA for normal text in that exact pairing.

Potential fit

Controls and interface graphics

Against Hue Codex paper, the color reaches 14.56:1. That meets the 3:1 color-contrast threshold where WCAG 1.4.11 applies, but states, shape, and non-color cues still need review.

Readable pairing available

Colored surface or button fill

White text provides the stronger black/white pairing on #312129 at 15.22:1. This validates only that text pair, not hover, focus, disabled, or adjacent-color states.

Restrained neutral

Palette role

Its OKLCH chroma of 0.028 is restrained, which is generally more suitable for surfaces, borders, or neutral system roles than for a vivid accent.

Pair available

Color used as foreground

The stronger black/white background is white at 15.22:1. Always retest against the actual rendered background and text size.

Tested backgrounds

Foreground pairing comparison

#312129 foreground contrast on tested backgrounds
Pair Background Contrast ratio
White#FFFFFF 15.22:1
Hue Codex paper#FBFAF5 14.56:1
Soft neutral#F2EFE6 13.23:1
Black#000000 1.38:1
Hue Codex ink#10212B 1.08:1
Check #312129 on another background in Contrast Checker

Design-system starting point

A perceptual 50–900 reference scale

The source color is preserved at the nearest lightness step. Other swatches keep its OKLCH hue, moderate chroma toward the extremes, and reduce chroma only when needed to remain in sRGB.

50
100
200
300
400
500
600
700
800
900 #312129 Source

This is a Hue Codex reference scale, not a claim that the values match Tailwind, Material, or another framework’s named palette.

Adjust the #312129 scale in Tints, Shades & Tones

Color relationships

Complementary, analogous, and triadic colors

Hue rotations use OKLCH while preserving lightness and requested chroma. When a rotated result falls outside sRGB, chroma is reduced deterministically and disclosed.

Complementary

Source #312129
Complement

Analogous

Source #312129
Analogous −30°
Analogous +30°

Triadic

Source #312129
Triad +120°
Triad +240°

Applied pairing

A small interface check

The source anchors the main action while the complement marks a secondary status. Contrast is selected separately for each fill.

Project color Muted Dark Red
Complement
Explore #312129 in Color Harmonies

Distance matching

Closest standardized and framework colors

Matches use straight-line OKLab distance ×100. A smaller value means the coordinates are closer in this model; it is not a claim that two tokens are interchangeable in a design system.

CSS named color

Midnight Blue

#191970

OKLab distance ×100: 14.01

Tailwind v4 default

mauve-800

oklch(26.3% 0.024 320.12)

OKLab distance ×100: 1.5 · sRGB preview #2A212C

Print boundary

Pantone match not estimated

Reliable print matching needs licensed reference data plus a defined ink, paper, profile, and viewing condition.

Read the print methodology

Color-vision screening

Approximate color-vision-deficiency views

These encoded-sRGB matrix previews are screening approximations. They help reveal possible color-only distinctions but do not reproduce every person’s vision or establish accessibility conformance.

Original#312129
Approx.

Protanopia

Red-vision deficiency approximation

Original#312129
Approx.

Deuteranopia

Green-vision deficiency approximation

Original#312129
Approx.

Tritanopia

Blue-yellow deficiency approximation

Original#312129
Approx.

Achromatopsia

Monochromatic-vision approximation

Test #312129 with a complete palette in the CVD Simulator

Ready to use

Copy framework-ready color tokens

Exports preserve the source, readable foreground, and generated 50–900 scale. Tailwind v4 CSS-first and Tailwind v3 JavaScript-config formats are labeled separately.

CSS custom properties

Semantic aliases and the complete 50–900 scale.

:root {
  --color-primary: #312129;
  --color-on-primary: #FFFFFF;
  --color-primary-oklch: oklch(27.0475% 0.027998 347.6807);
  --color-primary-50: #FEF1F7;
  --color-primary-100: #E8DAE0;
  --color-primary-200: #CEBFC6;
  --color-primary-300: #B5A6AD;
  --color-primary-400: #9D8D94;
  --color-primary-500: #85757D;
  --color-primary-600: #6E5E66;
  --color-primary-700: #584850;
  --color-primary-800: #43323A;
  --color-primary-900: #312129;
}

Tailwind v4 CSS-first theme

Current @theme syntax for bg-brand, text-brand, and scale utilities.

@import "tailwindcss";

@theme {
  --color-brand: #312129;
  --color-brand-foreground: #FFFFFF;
  --color-brand-50: #FEF1F7;
  --color-brand-100: #E8DAE0;
  --color-brand-200: #CEBFC6;
  --color-brand-300: #B5A6AD;
  --color-brand-400: #9D8D94;
  --color-brand-500: #85757D;
  --color-brand-600: #6E5E66;
  --color-brand-700: #584850;
  --color-brand-800: #43323A;
  --color-brand-900: #312129;
}

Tailwind v3 / legacy config

CommonJS theme.extend.colors for JavaScript-config projects.

module.exports = {
  theme: {
    extend: {
      colors: {
        brand: {
          '50': '#FEF1F7',
          '100': '#E8DAE0',
          '200': '#CEBFC6',
          '300': '#B5A6AD',
          '400': '#9D8D94',
          '500': '#85757D',
          '600': '#6E5E66',
          '700': '#584850',
          '800': '#43323A',
          '900': '#312129',
          DEFAULT: '#312129',
          foreground: '#FFFFFF',
        },
      },
    },
  },
};

Sass variables

Semantic source, foreground, OKLCH, and scale variables.

$color-primary: #312129;
$color-on-primary: #FFFFFF;
$color-primary-oklch: oklch(27.0475% 0.027998 347.6807);
$color-primary-50: #FEF1F7;
$color-primary-100: #E8DAE0;
$color-primary-200: #CEBFC6;
$color-primary-300: #B5A6AD;
$color-primary-400: #9D8D94;
$color-primary-500: #85757D;
$color-primary-600: #6E5E66;
$color-primary-700: #584850;
$color-primary-800: #43323A;
$color-primary-900: #312129;

Modern color-mix()

Static fallbacks followed by OKLab tint and shade declarations.

:root {
  --color-primary: #312129;
  --color-primary-tint: #CEBFC6;
  --color-primary-tint: color-mix(in oklab, var(--color-primary) 72%, white);
  --color-primary-shade: #584850;
  --color-primary-shade: color-mix(in oklab, var(--color-primary) 82%, black);
}

JSON design data

Source formats, readable text, and the generated scale.

{
    "name": "Muted Dark Red",
    "hex": "#312129",
    "rgb": "rgb(49 33 41)",
    "oklch": "oklch(27.0475% 0.027998 347.6807)",
    "recommendedText": "#FFFFFF",
    "scale": {
        "50": "#FEF1F7",
        "100": "#E8DAE0",
        "200": "#CEBFC6",
        "300": "#B5A6AD",
        "400": "#9D8D94",
        "500": "#85757D",
        "600": "#6E5E66",
        "700": "#584850",
        "800": "#43323A",
        "900": "#312129"
    }
}

Continue the decision

Use #312129 in a complete workflow

Reference values are a starting point. Test the color in its real role, background, states, typography, and surrounding palette before shipping.