Violet scale

An 11-step ramp from base #8B5CF6, shaped in OKLCH for even perceptual movement.

Base
#8b5cf6
Steps
11
Space
OKLCH

Violet from 50 to 950

Chroma tapers toward both ends so pale and dark stops remain visibly on-hue instead of clipping.

50

#f5f0ff

100

#e9dfff

200

#d3c2ff

300

#bca1ff

400

#a581ff

500

#8f61fb

600

#7642dc

700

#5f2db8

800

#481e8f

900

#331768

950

#1e0a43

Create the Violet scale in PHP

Use the exact catalog values when the published token ramp must remain stable between releases.

<?php

use PhpColor\Color\Palette\ColorPalette;

$scale = ColorPalette::fromHex([
    '#f5f0ff',
    '#e9dfff',
    '#d3c2ff',
    '#bca1ff',
    '#a581ff',
    '#8f61fb',
    '#7642dc',
    '#5f2db8',
    '#481e8f',
    '#331768',
    '#1e0a43',
]);
use PhpColor\Color\Palette\ColorPalette; $scale = ColorPalette::fromHex([ '#f5f0ff', '#e9dfff', '#d3c2ff', '#bca1ff', '#a581ff', '#8f61fb', '#7642dc', '#5f2db8', '#481e8f', '#331768', '#1e0a43', ]);

Use a specific Violet step

Scale palettes use zero-based positions; the published token name remains your application-level key.

<?php

use PhpColor\Color\Color;
use PhpColor\Color\Contrast\ColorContrast;

$color500 = $scale->get(5);
$contrast = ColorContrast::calculate($color500, Color::white());
use PhpColor\Color\Color; use PhpColor\Color\Contrast\ColorContrast; $color500 = $scale->get(5); $contrast = ColorContrast::calculate($color500, Color::white());

Format Violet as CSS variables

Drop these tokens into :root, then reference any step as var(--violet-500).

css
:root {
  --violet-50: #f5f0ff;
  --violet-100: #e9dfff;
  --violet-200: #d3c2ff;
  --violet-300: #bca1ff;
  --violet-400: #a581ff;
  --violet-500: #8f61fb;
  --violet-600: #7642dc;
  --violet-700: #5f2db8;
  --violet-800: #481e8f;
  --violet-900: #331768;
  --violet-950: #1e0a43;
}

Keep exploring

Continue from the Violet scale