RAL Classic color

RAL 5001 Green blue #1F3438

RAL 5001 Green blue is shown here as #1F3438, a widely published sRGB approximation of the printed swatch. It is a dark grayish teal in the neutral family. In OKLCH it sits at lightness 0.309, chroma 0.028 and hue 210.8°. The nearest CSS named color is darkslategray (#2F4F4F), ΔE2000 9.4 away.

Relative luminance
0.0303
OKLCH L · C · h
0.309 · 0.028 · 210.8
Best text
White 13.07:1
Hue family
Neutral

#1F3438 color codes

HEX
#1F3438
RGB
rgb(31, 52, 56)
HSL
hsl(190, 29%, 17%)
OKLCH
oklch(0.309 0.028 210.8)
OKLab
oklab(0.309 -0.024 -0.014)
CIELAB (D65)
L* 20.17, a* -7.09, b* -5.17
XYZ (D65)
X 2.51, Y 3.03, Z 4.19
CMYK (naive)
cmyk(45%, 7%, 0%, 78%)

CIELAB and XYZ use the D65 white point; CSS lab() uses D50, so paste the OKLCH or HEX value into stylesheets. CMYK here is a plain formula with no press profile.

RAL and RAL Classic are trademarks of RAL gGmbH, which this site is not affiliated with. The sRGB value is an approximation of the printed swatch; check a physical RAL color card before you specify a paint.

Legibility

Contrast: is #1F3438 accessible?

White text on it reaches 13.07:1, passing AAA. Black text fails at 1.60:1.

WCAG 2 gives the same ratio whichever color is the text; APCA does not, so its Lc changes sign and size with polarity.

Open the Contrast System
  • Black text on it

    1.60:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc 0
  • White text on it

    13.07:1

    • AA passes
    • AA large passes
    • AAA passes
    • APCA Lc −102
  • As text on black

    1.60:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc 0
  • As text on white

    13.07:1

    • AA passes
    • AA large passes
    • AAA passes
    • APCA Lc +99

Nearest versions that pass 4.5:1

  • For text on white

    #1F3438 13.07:1

    It already reaches 13.07:1 on white, so no change is needed.

  • For text on black

    #62797D 4.55:1

    Lightening its OKLCH lightness from 0.31 to 0.56 reaches 4.55:1 on black, keeping the hue.

Checking another pair? Use the Contrast Checker.

Studio

Adjust #1F3438 live

Move lightness, chroma and hue in OKLCH, or drag on the map. The map is every lightness and chroma at the current hue: sRGB inside the solid area, Display P3 out to the dashed line.

The studio needs JavaScript.

Scale

Shades and tints of #1F3438

Eleven OKLCH lightness steps at this hue, each with its contrast against white and black. #1F3438 sits at step 900.

  1. 50#E5FAFE
    White
    1.08
    Black
    19.43
  2. 100#DBF0F4
    White
    1.18
    Black
    17.78
  3. 200#C6DCE1
    White
    1.42
    Black
    14.72
  4. 300#ABC3C7
    White
    1.84
    Black
    11.36
  5. 400#8FA6AB
    White
    2.55
    Black
    8.21
  6. 500#748B90
    White
    3.59
    Black
    5.83
  7. 600#5D7378
    White
    5.01
    Black
    4.18
  8. 700#475C61
    White
    7.06
    Black
    2.97
  9. 800#304447
    White
    10.27
    Black
    2.04
  10. 900This color#1F3438
    White
    13.07
    Black
    1.60
  11. 950#0A191B
    White
    17.98
    Black
    1.16

Under each step, white and black text on it; a bold figure passes 4.5:1.

Gamut

How vivid #1F3438 can get

At its lightness and hue, sRGB reaches OKLCH chroma 0.054; #1F3438 uses 51% of it. Display P3, which many recent phones and laptops show, reaches 0.072 there: 33% more.

0.00.20.40.60.80.20.40.60.8 460480500520540560580600620
  • sRGB
  • Display P3
  • Rec. 2020
  • Dominant wavelength
OKLCH chroma
0.028
sRGB edge
0.054
Display P3 edge
0.072
Rec. 2020 edge
0.120
Dominant wavelength
488 nm
Excitation purity
22%
Chromaticity
x 0.2575, y 0.3116
  • This color#1F3438
  • Most vivid in sRGB#00373F
  • Most vivid in Display P3oklch(0.309 0.072 210.8)

On a screen without Display P3 the last tile shows the sRGB edge instead.

Use the wider color where screens show it
.accent {
  color: #1f3438;
}
@media (color-gamut: p3) {
  .accent { color: color(display-p3 0 0.2184 0.2623); }
}

Mixing

Mixing #1F3438

Each row is the same mix worked out in a different space, with the halfway color at its end. sRGB, which older CSS gradients use, can sag gray or dark in the middle; OKLab keeps the lightness steps even; OKLCH holds chroma and hue as it goes.

White #FFFFFF

  • sRGB50%#8F9A9C
  • OKLab50%#879395
  • OKLCH50%#879395

Black #000000

  • sRGB50%#101A1C
  • OKLab50%#060E0F
  • OKLCH50%#060E0F

Its complement #3D2B28

  • sRGB50%#2E3030
  • OKLab50%#303030
  • OKLCH50%#322D3C
In CSS
/* A gradient and a mix, worked out in OKLCH */
background: linear-gradient(in oklch, #1f3438, white);
color: color-mix(in oklch, #1f3438 50%, white);

In use

#1F3438 in an interface

A button, a link, a heading, a focused field, an icon and a chart line in this color, on a light page and a dark one. Each check is a WCAG 2 contrast minimum: 1.4.3 for text, 1.4.11 for the rest.

Light page

  • Button labelText, 4.5:113.07:1 Passes
  • Link and body-size textText, 4.5:113.07:1 Passes
  • Large headingLarge text, 3:113.07:1 Passes
  • Icons, borders and focus ringsNon-text, 3:113.07:1 Passes

Dark page

  • Button labelText, 4.5:113.07:1 Passes
  • Link and body-size textText, 4.5:11.43:1 Fails
  • Large headingLarge text, 3:11.43:1 Fails
  • Icons, borders and focus ringsNon-text, 3:11.43:1 Fails

For text on this page, the nearest shade that passes is #6B8286 4.60:1

Color vision

How #1F3438 looks with color blindness

Deuteranopia changes it most, ΔE2000 9.9; tritanopia changes it least, 5.3.

Simulated with Machado et al. (2009) at full severity, in linear light.

Simulate a whole page What each type sees
  • Protanopia

    No working red (long-wavelength) cones

    #303238 ΔE2000 9.3

    Noticeable

    Reads as dark gray

  • Deuteranopia

    No working green (medium-wavelength) cones

    #2C2F38 ΔE2000 9.9

    Noticeable

    Reads as dark gray

  • Tritanopia

    No working blue (short-wavelength) cones

    #153635 ΔE2000 5.3

    Noticeable

    Reads as dark grayish teal

  • Achromatopsia

    No cone color vision; lightness only

    #313131 ΔE2000 9.3

    Noticeable

    Reads as dark gray

Pairing check

A near-neutral has no complementary hue to pair with, so tell it apart from neighboring grays by lightness contrast alone.

Harmony

Color harmonies for #1F3438

Its complement is #3D2B28, a dark grayish brown.

Hue rotations in OKLCH, mapped into sRGB by trimming chroma so hue and lightness stay put.

Open the Harmony Studio
  • Base#1F3438
  • Complement#3D2B28

Complementary

Open in Harmony Studio
  • −30°#203531
  • Base#1F3438
  • +30°#23323D
  • Base#1F3438
  • +120°#382B37
  • +240°#353020
  • Base#1F3438
  • +150°#3C2A2F
  • +210°#3B2D22

Split-complementary

Open in Harmony Studio

Code

Design tokens

Ready-to-paste tokens in six formats. Rename them to fit your system.

CSS custom property

:root {
  --color-ral-5001: #1f3438;
}

Tailwind config

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        'ral-5001': '#1f3438',
      },
    },
  },
};

Tailwind v4 theme

/* app.css — Tailwind CSS v4 */
@import "tailwindcss";

@theme {
  --color-ral-5001: oklch(0.309 0.028 210.8);
}

Design token (W3C DTCG)

{
  "color": {
    "ral-5001": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [0.1216, 0.2039, 0.2196],
        "hex": "#1f3438"
      },
      "$description": "RAL 5001 Green blue (approximate sRGB)"
    }
  }
}

SwiftUI color

import SwiftUI

enum Palette {
    static let ral5001 = Color(.sRGB, red: 0.122, green: 0.204, blue: 0.220, opacity: 1)
}

Jetpack Compose color

import androidx.compose.ui.graphics.Color

object Palette {
    val Ral5001 = Color(0xFF1F3438)
}

Matches

The nearest match in each system

The closest CSS name, Tailwind shade, RAL Classic paint and Crayola crayon by ΔE2000; under 2 is hard to tell apart side by side. RAL and Crayola values approximate physical colors.

Tools

Open #1F3438 in the tools

Each opens over this page. More colors live in the Color Library, and every color page is listed on the hub.