Colour to colour

Peach to Cornflower Blue gradient

Peach (#ffe5b4) into Cornflower Blue (#6495ed) — 178° apart on the OKLCH hue wheel. Below: the same two stops interpolated in OKLab and in OKLCH, side by side, because the difference is real and most generators never let you see it; then an eased version and a mesh, each with the worst-case contrast for white and black text. The engine's own pick for this pair is oklch: ΔH 178° > 140° — interpolating in oklch (shorter hue) keeps the midpoint saturated.

Peach → Cornflower Blue
black text · worst 7.06:1 · AA
white 1.23 failsblack 7.06 AAbanding medium

OKLab and OKLCH, side by side

Aa

A straight line through the a/b plane: the two hues meet halfway and desaturate a little at the midpoint. The safe default — it is what CSS and Tailwind default to.

white 1.23 failsblack 7.06 AAbanding medium
css
linear-gradient(135deg in oklab, #ffe5b4 0%, #6495ed 100%)
Aa

OKLCH (shorter hue)

Open in maker →

Chroma and hue interpolate separately, so the midpoint keeps its saturation and the hue travels the short way round the wheel — richer, and it can pass through hues neither colour has.

white 1.23 failsblack 7.06 AAbanding medium
css
linear-gradient(135deg in oklch shorter hue, #ffe5b4 0%, #6495ed 100%)

And the sRGB line most tools draw, for comparison — the number is the chroma that survives at the dullest point.

sRGB2%
OKLab2%
OKLCH66%

Eased and mesh

Aa

Eased (soft)

Open in maker →

A cubic-bezier(.4, 0, .6, 1) mix ratio baked into 15 stops: the transition lingers on each colour and moves faster through the middle, which is what makes a gradient read as designed rather than default.

white 1.23 failsblack 7.05 AAbanding medium
css
linear-gradient(135deg in oklch shorter hue, #ffe5b4 0%, #fce5b2 8.28%, #f4e3ac 16.03%, #e6e2a6 23.35%, #d2e0a1 30.32%, #b6dea2 37.03%, #95daaa 43.56%, #70d5b7 50%, #4acdc7 56.44%, #2ec2d7 62.97%, #30b6e3 69.68%, #43a9ea 76.65%, #559fed 83.97%, #6098ed 91.72%, #6495ed 100%)
Aa

Both colours as stacked radials over a base, laid out by a seeded Poisson-disc sampler — the same seed gives the same mesh forever. Exports as CSS, SVG and PNG.

white 1.51 failsblack 8.08 AAbanding high
css
background-color: #b1c0d7;
background-image: radial-gradient(circle farthest-corner at 87.8% 91.5%, rgba(100, 149, 237, 0.749) 0%, rgba(100, 149, 237, 0) 55.18%), radial-gradient(circle farthest-corner at 59.34% 43.99%, rgba(255, 229, 180, 0.824) 0%, rgba(255, 229, 180, 0) 58.13%);
background-image: radial-gradient(circle farthest-corner at 87.8% 91.5%, oklch(from #6495ed l c h / 0.7486) 0%, rgb(from #6495ed r g b / 0) 55.18%), radial-gradient(circle farthest-corner at 59.34% 43.99%, oklch(from #ffe5b4 l c h / 0.824) 0%, rgb(from #ffe5b4 r g b / 0) 58.13%);

Report

  • white ink: worst 1.23:1 at 0% (fails AA); black ink: worst 7.06:1 at 100% (AA) → use black text.
  • Banding medium: ~9px bands at 1440px — add grain 19 (≈2% soft-light noise) or shorten the ramp.

Export

css
.gradient {
  background-image: linear-gradient(135deg, #ffe5b4 0%, #f1e3aa 7.14%, #e0e1a4 14.29%, #cde0a1 21.43%, #b8dea2 28.57%, #a1dca6 35.71%, #89d9ae 42.86%, #70d5b7 50%, #56d0c2 57.14%, #3ec9cd 64.29%, #2dc1d8 71.43%, #2db8e1 78.57%, #3cade8 85.71%, #50a2ec 92.86%, #6495ed 100%);
  background-image: linear-gradient(135deg in oklch shorter hue, #ffe5b4 0%, #6495ed 100%);
}
tailwind v4
bg-linear-to-br/oklch from-[#ffe5b4] to-[#6495ed]
svg
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="600" viewBox="0 0 1440 600"><defs><linearGradient id="bs-gradient" gradientUnits="userSpaceOnUse" x1="210" y1="-210" x2="1230" y2="810"><stop offset="0%" stop-color="#ffe5b4"/><stop offset="7.14%" stop-color="#f1e3aa"/><stop offset="14.29%" stop-color="#e0e1a4"/><stop offset="21.43%" stop-color="#cde0a1"/><stop offset="28.57%" stop-color="#b8dea2"/><stop offset="35.71%" stop-color="#a1dca6"/><stop offset="42.86%" stop-color="#89d9ae"/><stop offset="50%" stop-color="#70d5b7"/><stop offset="57.14%" stop-color="#56d0c2"/><stop offset="64.29%" stop-color="#3ec9cd"/><stop offset="71.43%" stop-color="#2dc1d8"/><stop offset="78.57%" stop-color="#2db8e1"/><stop offset="85.71%" stop-color="#3cade8"/><stop offset="92.86%" stop-color="#50a2ec"/><stop offset="100%" stop-color="#6495ed"/></linearGradient></defs><rect width="1440" height="600" fill="url(#bs-gradient)"/></svg>
dtcg
{
  "peach-to-cornflowerblue": {
    "$type": "gradient",
    "$value": [
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            1,
            0.898,
            0.706
          ],
          "hex": "#ffe5b4"
        },
        "position": 0
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.392,
            0.584,
            0.929
          ],
          "hex": "#6495ed"
        },
        "position": 1
      }
    ],
    "$extensions": {
      "com.brandsweets": {
        "kind": "linear",
        "css": "linear-gradient(135deg in oklch shorter hue, #ffe5b4 0%, #6495ed 100%)",
        "interpolation": "oklch",
        "hue": "shorter",
        "angle": 135,
        "name": "peach-to-cornflowerblue",
        "contrast": {
          "white": {
            "ratio": 1.227,
            "at": 0,
            "passesAA": false,
            "passesAALarge": false
          },
          "black": {
            "ratio": 7.064,
            "at": 1,
            "passesAA": true,
            "passesAALarge": true
          },
          "suggestedInk": "#000000"
        }
      }
    },
    "$description": "Peach to Cornflower Blue, interpolated in oklch."
  }
}

More from Peach

mcpConnect your agent to the gradient engine
live endpoint

Point any MCP client at the shared gradients endpoint and your agent gets the same engine as this page — make_gradient returns CSS with the interpolation space, Tailwind v4, SVG, a PNG URL, a DTCG token and the contrast report in one call; brand_gradients derives the whole contact sheet from a brand or a palette. Read-only, no key. Every gradient is a /gradients/new/… link: open it, refine, paste it back.

endpointhttps://mcp.brandsweets.com/gradients/mcp
claude mcp add --transport http brandsweets-gradients https://mcp.brandsweets.com/gradients/mcp
try this prompt

make a peach to cornflower blue hero gradient in oklch that passes AA for white text, with grain if it bands

Want the agent to remember your picks and write them into a living brand? Create a free BrandSweets workspace.

Machine-readable: gradients.md