Named gradient · WebGradients

Old Hat

Old Hat is a pink gradient from WebGradients (MIT) — #e4afcb → #b8cbb8 → #e2c58b → #c2ce9c → #7edbdc at 0°. Shown here interpolated in OKLab, next to the original sRGB, with the worst-case contrast for white and black text and every export.

Aa — the quick brown fox
black text · worst 11.29:1 · AA
white 1.60 failsblack 11.29 AAbanding high

Same stops, three spaces

The source renders this in sRGB. The number is how much chroma survives at the dullest point along the line — the difference between the first bar and the others is the grey that OKLab removes.

sRGB44%
OKLab44%
OKLCH47%

Report

  • white ink: worst 1.60:1 at 99% (fails AA); black ink: worst 11.29:1 at 0% (AA) → use black text.
  • Banding high: ~15px bands at 1440px — add grain 31 (≈2% soft-light noise) or shorten the ramp.

Export

css
.gradient {
  background-image: linear-gradient(0deg, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #e4afcb 0%, #b8cbb8 0%, #bbcbb5 2.14%, #becab2 4.29%, #c2caaf 6.43%, #c5caac 8.57%, #c8c9a9 10.71%, #cbc9a6 12.86%, #cec8a2 15%, #d1c89f 17.14%, #d4c79c 19.29%, #d7c799 21.43%, #d9c795 23.57%, #dcc692 25.71%, #dfc68f 27.86%, #e2c58b 30%, #e0c68c 32.43%, #dec68e 34.86%, #dbc78f 37.29%, #d9c890 39.71%, #d7c891 42.14%, #d5c992 44.57%, #d3ca94 47%, #d0ca95 49.43%, #cecb96 51.86%, #cccc97 54.29%, #c9cc98 56.71%, #c7cd9a 59.14%, #c4cd9b 61.57%, #c2ce9c 64%, #becfa1 66.57%, #bad0a6 69.14%, #b6d1ab 71.71%, #b1d2af 74.29%, #add3b4 76.86%, #a8d4b9 79.43%, #a4d5bd 82%, #9fd6c2 84.57%, #9ad7c6 87.14%, #95d8cb 89.71%, #8fd9cf 92.29%, #8ad9d3 94.86%, #84dad8 97.43%, #7edbdc 100%);
  background-image: linear-gradient(0deg in oklab, #e4afcb 0%, #b8cbb8 0%, #e2c58b 30%, #c2ce9c 64%, #7edbdc 100%);
}
tailwind v4
bg-[linear-gradient(0deg_in_oklab,#e4afcb_0%,#b8cbb8_0%,#e2c58b_30%,#c2ce9c_64%,#7edbdc_100%)]
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="720" y1="600" x2="720" y2="0"><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#e4afcb"/><stop offset="0%" stop-color="#b8cbb8"/><stop offset="2.14%" stop-color="#bbcbb5"/><stop offset="4.29%" stop-color="#becab2"/><stop offset="6.43%" stop-color="#c2caaf"/><stop offset="8.57%" stop-color="#c5caac"/><stop offset="10.71%" stop-color="#c8c9a9"/><stop offset="12.86%" stop-color="#cbc9a6"/><stop offset="15%" stop-color="#cec8a2"/><stop offset="17.14%" stop-color="#d1c89f"/><stop offset="19.29%" stop-color="#d4c79c"/><stop offset="21.43%" stop-color="#d7c799"/><stop offset="23.57%" stop-color="#d9c795"/><stop offset="25.71%" stop-color="#dcc692"/><stop offset="27.86%" stop-color="#dfc68f"/><stop offset="30%" stop-color="#e2c58b"/><stop offset="32.43%" stop-color="#e0c68c"/><stop offset="34.86%" stop-color="#dec68e"/><stop offset="37.29%" stop-color="#dbc78f"/><stop offset="39.71%" stop-color="#d9c890"/><stop offset="42.14%" stop-color="#d7c891"/><stop offset="44.57%" stop-color="#d5c992"/><stop offset="47%" stop-color="#d3ca94"/><stop offset="49.43%" stop-color="#d0ca95"/><stop offset="51.86%" stop-color="#cecb96"/><stop offset="54.29%" stop-color="#cccc97"/><stop offset="56.71%" stop-color="#c9cc98"/><stop offset="59.14%" stop-color="#c7cd9a"/><stop offset="61.57%" stop-color="#c4cd9b"/><stop offset="64%" stop-color="#c2ce9c"/><stop offset="66.57%" stop-color="#becfa1"/><stop offset="69.14%" stop-color="#bad0a6"/><stop offset="71.71%" stop-color="#b6d1ab"/><stop offset="74.29%" stop-color="#b1d2af"/><stop offset="76.86%" stop-color="#add3b4"/><stop offset="79.43%" stop-color="#a8d4b9"/><stop offset="82%" stop-color="#a4d5bd"/><stop offset="84.57%" stop-color="#9fd6c2"/><stop offset="87.14%" stop-color="#9ad7c6"/><stop offset="89.71%" stop-color="#95d8cb"/><stop offset="92.29%" stop-color="#8fd9cf"/><stop offset="94.86%" stop-color="#8ad9d3"/><stop offset="97.43%" stop-color="#84dad8"/><stop offset="100%" stop-color="#7edbdc"/></linearGradient></defs><rect width="1440" height="600" fill="url(#bs-gradient)"/></svg>
dtcg
{
  "old-hat": {
    "$type": "gradient",
    "$value": [
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.894,
            0.686,
            0.796
          ],
          "hex": "#e4afcb"
        },
        "position": 0
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.722,
            0.796,
            0.722
          ],
          "hex": "#b8cbb8"
        },
        "position": 0
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.886,
            0.773,
            0.545
          ],
          "hex": "#e2c58b"
        },
        "position": 0.3
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.761,
            0.808,
            0.612
          ],
          "hex": "#c2ce9c"
        },
        "position": 0.64
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.494,
            0.859,
            0.863
          ],
          "hex": "#7edbdc"
        },
        "position": 1
      }
    ],
    "$extensions": {
      "com.brandsweets": {
        "kind": "linear",
        "css": "linear-gradient(0deg in oklab, #e4afcb 0%, #b8cbb8 0%, #e2c58b 30%, #c2ce9c 64%, #7edbdc 100%)",
        "interpolation": "oklab",
        "angle": 0,
        "name": "Old Hat",
        "contrast": {
          "white": {
            "ratio": 1.604,
            "at": 0.9854,
            "passesAA": false,
            "passesAALarge": false
          },
          "black": {
            "ratio": 11.293,
            "at": 0,
            "passesAA": true,
            "passesAALarge": true
          },
          "suggestedInk": "#000000"
        }
      }
    },
    "$description": "Old Hat (WebGradients, MIT), rendered in OKLab."
  }
}

Tagged

More pink gradients

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

take the Old Hat gradient (#e4afcb, #b8cbb8, #e2c58b, #c2ce9c, #7edbdc), re-interpolate it in oklch, and tell me the worst-case contrast for white text

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

Machine-readable: gradients.md · From WebGradients (MIT) — licences