Gradient maker

deg
Export
Aa — the quick brown fox
white text · worst 1.47:1 · fails AA
white 1.47 black 1.33 banding medium · 5.24px
7 stops · click the track to add · drag to move · select to edit

Same stops, three spaces

Click a bar to interpolate there. The number is how much chroma survives at the dullest point.

* some samples left sRGB and were gamut-mapped (slight hue drift there). Grey/white endpoints carry the other stop's hue (powerless hue), so green→white stays green.

Contrast along the line

WCAG ratio for white and black ink at every point. Shaded = below 4.5:1 for white ink. The marker is the exact worst point.

worst white 1.47:1 at 0% · fails
Nudges the stop nearest 0% in lightness (hue kept). Or a scrim rgb(0 0 0 / .35) under the text takes it from 1.47:1 to 3.45:1.

Easing

Stops are not evenly spaced. x = stop position, y = mix amount. Baked into 12–16 stops, or one colour-hint when that is within 0.02.

cubic-bezier(0, 0, 1, 1)
plain · 7 stops · 89 B

Derive from a palette or brand

Paste hexes (primary first) or a public brand slug. Every type is a pure function of the palette — the same contact sheet an agent gets from brand_gradients.

SpacerandomiseClick trackadd stopDragmove stopremove stop←/→nudge · undo/redo

Export

CSS with the interpolation space, Tailwind v4, SVG with correct geometry, a DTCG token, and the PNG.

Apply this to a brand → sign in

.gradient {
  background-image: linear-gradient(0deg, #fcc5e4 0%, #fcc3da 1.07%, #fcc1d1 2.14%, #fcbfc7 3.21%, #fcbcbd 4.29%, #fcbab4 5.36%, #fcb8aa 6.43%, #fdb59f 7.5%, #fdb395 8.57%, #fdb18a 9.64%, #fdae7f 10.71%, #fdab74 11.79%, #fda967 12.86%, #fda65a 13.93%, #fda34b 15%, #fda051 16.43%, #fd9d56 17.86%, #fe9a5a 19.29%, #fe985f 20.71%, #fe9563 22.14%, #fe9267 23.57%, #fe8f6b 25%, #fe8c6f 26.43%, #ff8872 27.86%, #ff8576 29.29%, #ff8279 30.71%, #ff7f7c 32.14%, #ff7b7f 33.57%, #ff7882 35%, #fb7784 36.21%, #f77687 37.43%, #f37589 38.64%, #ef748b 39.86%, #eb738d 41.07%, #e7728f 42.29%, #e37191 43.5%, #df7093 44.71%, #db6f95 45.93%, #d76e97 47.14%, #d46d99 48.36%, #d06b9b 49.57%, #cc6a9c 50.79%, #c8699e 52%, #c1679f 53.36%, #bb65a0 54.71%, #b463a1 56.07%, #ae61a3 57.43%, #a75ea4 58.79%, #a15ca4 60.14%, #9b5aa5 61.5%, #9457a6 62.86%, #8e54a7 64.21%, #8852a8 65.57%, #824fa8 66.93%, #7c4ca9 68.29%, #7649a9 69.64%, #7046aa 71%, #6a45ab 72.14%, #6343ac 73.29%, #5d41ad 74.43%, #573fae 75.57%, #503db0 76.71%, #4a3bb1 77.86%, #4338b2 79%, #3c36b3 80.14%, #3633b4 81.29%, #2f2fb4 82.43%, #272cb5 83.57%, #1f27b6 84.71%, #1723b7 85.86%, #0c1db8 87%, #0b1cb3 87.93%, #0a1bae 88.86%, #091aa9 89.79%, #0819a4 90.71%, #07189f 91.64%, #07179b 92.57%, #061696 93.5%, #051591 94.43%, #05148c 95.36%, #041388 96.29%, #031283 97.21%, #03117e 98.14%, #02107a 99.07%, #020f75 100%);
  background-image: linear-gradient(0deg in oklab, #fcc5e4 0%, #fda34b 15%, #ff7882 35%, #c8699e 52%, #7046aa 71%, #0c1db8 87%, #020f75 100%);
}
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

derive a hero gradient from #635bff and #00d4ff that passes AA for white text

this gradient as a URL

https://brandsweets.com/gradients/new/v1.fcc5e4_0-fda34b_15-ff7882_35-c8699e_52-7046aa_71-0c1db8_87-020f75_100?a=0

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