Named gradient · uiGradients

Unicorn Rainbow

Unicorn Rainbow is a yellow gradient from uiGradients (MIT) — #f7f0ac → #acf7f0 → #f0acf7 at 90°. 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.95:1 · AA
white 1.17 failsblack 11.95 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.

sRGB38%
OKLab34%
OKLCH61%

Report

  • white ink: worst 1.17:1 at 3% (fails AA); black ink: worst 11.95:1 at 100% (AA) → use black text.
  • Banding high: ~10px bands at 1440px — add grain 20 (≈2% soft-light noise) or shorten the ramp.

Export

css
.gradient {
  background-image: linear-gradient(90deg, #f7f0ac 0%, #f2f1b1 3.57%, #edf1b7 7.14%, #e8f2bc 10.71%, #e4f3c1 14.29%, #def3c6 17.86%, #d9f4cb 21.43%, #d4f4d0 25%, #cff5d4 28.57%, #c9f5d9 32.14%, #c4f6de 35.71%, #bef6e2 39.29%, #b8f6e7 42.86%, #b2f7ec 46.43%, #acf7f0 50%, #b3f2f1 53.57%, #baedf1 57.14%, #c0e8f2 60.71%, #c5e3f2 64.29%, #cbdef3 67.86%, #d0d8f4 71.43%, #d5d3f4 75%, #d9cef5 78.57%, #dec8f5 82.14%, #e2c3f5 85.71%, #e5bdf6 89.29%, #e9b8f6 92.86%, #edb2f7 96.43%, #f0acf7 100%);
  background-image: linear-gradient(90deg in oklab, #f7f0ac 0%, #acf7f0 50%, #f0acf7 100%);
}
tailwind v4
bg-linear-to-r/oklab from-[#f7f0ac] via-[#acf7f0] to-[#f0acf7]
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="0" y1="300" x2="1440" y2="300"><stop offset="0%" stop-color="#f7f0ac"/><stop offset="3.57%" stop-color="#f2f1b1"/><stop offset="7.14%" stop-color="#edf1b7"/><stop offset="10.71%" stop-color="#e8f2bc"/><stop offset="14.29%" stop-color="#e4f3c1"/><stop offset="17.86%" stop-color="#def3c6"/><stop offset="21.43%" stop-color="#d9f4cb"/><stop offset="25%" stop-color="#d4f4d0"/><stop offset="28.57%" stop-color="#cff5d4"/><stop offset="32.14%" stop-color="#c9f5d9"/><stop offset="35.71%" stop-color="#c4f6de"/><stop offset="39.29%" stop-color="#bef6e2"/><stop offset="42.86%" stop-color="#b8f6e7"/><stop offset="46.43%" stop-color="#b2f7ec"/><stop offset="50%" stop-color="#acf7f0"/><stop offset="53.57%" stop-color="#b3f2f1"/><stop offset="57.14%" stop-color="#baedf1"/><stop offset="60.71%" stop-color="#c0e8f2"/><stop offset="64.29%" stop-color="#c5e3f2"/><stop offset="67.86%" stop-color="#cbdef3"/><stop offset="71.43%" stop-color="#d0d8f4"/><stop offset="75%" stop-color="#d5d3f4"/><stop offset="78.57%" stop-color="#d9cef5"/><stop offset="82.14%" stop-color="#dec8f5"/><stop offset="85.71%" stop-color="#e2c3f5"/><stop offset="89.29%" stop-color="#e5bdf6"/><stop offset="92.86%" stop-color="#e9b8f6"/><stop offset="96.43%" stop-color="#edb2f7"/><stop offset="100%" stop-color="#f0acf7"/></linearGradient></defs><rect width="1440" height="600" fill="url(#bs-gradient)"/></svg>
dtcg
{
  "unicorn-rainbow": {
    "$type": "gradient",
    "$value": [
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.969,
            0.941,
            0.675
          ],
          "hex": "#f7f0ac"
        },
        "position": 0
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.675,
            0.969,
            0.941
          ],
          "hex": "#acf7f0"
        },
        "position": 0.5
      },
      {
        "color": {
          "colorSpace": "srgb",
          "components": [
            0.941,
            0.675,
            0.969
          ],
          "hex": "#f0acf7"
        },
        "position": 1
      }
    ],
    "$extensions": {
      "com.brandsweets": {
        "kind": "linear",
        "css": "linear-gradient(90deg in oklab, #f7f0ac 0%, #acf7f0 50%, #f0acf7 100%)",
        "interpolation": "oklab",
        "angle": 90,
        "name": "Unicorn Rainbow",
        "contrast": {
          "white": {
            "ratio": 1.165,
            "at": 0.0317,
            "passesAA": false,
            "passesAALarge": false
          },
          "black": {
            "ratio": 11.949,
            "at": 1,
            "passesAA": true,
            "passesAALarge": true
          },
          "suggestedInk": "#000000"
        }
      }
    },
    "$description": "Unicorn Rainbow (uiGradients, MIT), rendered in OKLab."
  }
}

Tagged

More yellow 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 Unicorn Rainbow gradient (#f7f0ac, #acf7f0, #f0acf7), 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 uiGradients (MIT) — licences