Three-colour gradients unlock a midpoint colour stop that enables effects simply not possible with two stops alone: a gradient that passes through a neutral or white tone, changes hue mid-journey to create a spectrum effect, or adds a bright highlight peak at a specific position.
Loading Gradient…
Configure three colour stops with independent positions
Set the midpoint colour and position separately from end stops
Generates linear or radial three-stop gradient CSS
Live preview shows real-time midpoint colour effect
Drop the Gradient into any page — blog post, product docs, intranet, school portal — with a single line of HTML. Your visitors get the full tool, processed entirely in their browser. No backend, no uploads, no signup.
Embed code
<iframe
src="https://www.fixtools.io/css-tool/gradient?embed=1"
width="100%"
height="780"
frameborder="0"
style="border:0;border-radius:16px;max-width:900px;"
title="Gradient by FixTools"
loading="lazy"
allow="clipboard-write"
></iframe>Attribution-friendly: a small "Powered by FixTools" link appears in the embed footer.
A three-colour gradient introduces a middle colour stop that changes the character of the transition fundamentally and opens up a much wider range of design possibilities. With two stops, the transition follows a single predictable arc from one colour to the next. A middle stop can introduce a neutral tone between two vivid colours, preventing the muddy or desaturated midpoint that sometimes appears when complementary hues are blended in sRGB space. It can also shift the gradient through a third distinct hue, creating a tri-colour spectrum effect that is widely used in aurora backgrounds, vibrant hero sections, and modern illustrated UI surfaces. Critically, the middle stop does not have to sit at the default 50% position: moving it off-centre creates asymmetric gradients that feel more organic, hand-crafted, and less mathematically rigid than perfectly centred three-stop transitions.
The CSS syntax for a three-stop gradient extends naturally from the two-stop form by adding a third colour and position: background: linear-gradient(135deg, #f093fb 0%, white 50%, #4facfe 100%). All three stops can use any CSS length unit for their positions: percentages are most common, but rem, px, and viewport units are all valid. The midpoint position is where the gradient's visual interest lies. At 30%, the first and middle zones share the left 30% of the element and the middle-to-last transition occupies the remaining 70%, making the last colour dominant. At 70%, the first colour occupies most of the space and the middle stop acts as a narrow accent band near the right edge. For radial three-stop gradients, the inner stop at 0% defines the centre glow colour, the middle stop controls the primary colour ring, and the outer stop at 100% sets the edge colour, giving the designer three independent variables for the glow intensity and spread.
FixTools generates the three-stop gradient CSS from your visual configuration with independent control over each colour stop's colour value and position. The output is a single standard background declaration. Copy it and apply it to any element in your project. The tool also shows a live preview that reflects the exact effect of moving the middle stop position, making it easy to find the right asymmetry without manually editing CSS percentages.
A common mistake with three-stop gradients is choosing three colours that conceptually should harmonise but produce unexpected muddy zones between adjacent stops in sRGB interpolation space. The classic case is blue-to-purple-to-pink: the blue-to-purple transition looks clean, but the purple-to-pink leg can pass through a desaturated lavender-grey midpoint that looks washed out. Two corrections solve this reliably. The first is using oklch colour interpolation: linear-gradient(in oklch, blue, purple, pink) keeps saturation high through every midpoint and eliminates the grey artefact entirely. The second is choosing colour values with intentionally matched lightness across all three stops, which keeps the perceptual brightness consistent and prevents the eye from reading the midpoint zones as desaturated. Three-stop gradients reward planning the colour palette before generating the gradient rather than picking three appealing colours independently and hoping they blend well.
Set three stops for a rich gradient. Example: background: linear-gradient(135deg, #f093fb 0%, #f5576c 50%, #4facfe 100%)
Step-by-step guide to three color gradient css:
Open the CSS Gradient Generator
Navigate to the FixTools CSS Gradient Generator and open the configuration panel. The same visual editor used for two-stop gradients supports three or more stops, and the live preview updates in real time as you add and reposition colour stops.
Add three colour stops
Set the first stop to your start colour, the second stop to your desired middle or accent colour, and the third stop to your end colour. Click each stop indicator to open the colour picker and choose or paste your colour value in hex, RGB, or HSL format.
Position the middle stop
Drag the middle stop along the gradient bar or type a percentage value directly. Move it toward the start for a short first-colour band with a long middle-to-end transition, or toward the end for the opposite weighting. Off-centre positions often produce more visually interesting results than the symmetric 50% default.
Copy the generated CSS
Copy the complete background: linear-gradient declaration with all three colour stops and their positions from the output panel. Paste it into your stylesheet or component file. The generated code is standard CSS that works in all modern browsers without modification.
Common situations where this approach makes a real difference:
Aurora hero section background
A tech startup wants a hero section background that evokes the aurora borealis to communicate innovation and ambition. The developer generates a 135-degree three-stop linear gradient with deep teal at 0%, vivid electric purple at 50%, and dark navy at 100%. The middle stop is positioned at 45% rather than the default 50% to give the purple slightly more dominance. The flowing tri-colour transition across three analogous-to-complementary hues creates the characteristic aurora look. A secondary layered semi-transparent radial gradient at the top of the section adds a focal glow without additional image assets.
Dashboard stat card with neutral midpoint
A KPI dashboard displays revenue, conversion, and user count on individual metric cards. Each card uses a three-stop linear gradient where the start and end stops use desaturated brand tints and the middle stop is a near-white at 40%. The white midpoint prevents the gradient from looking overly intense on the compact card surface and creates a natural illumination effect that makes each card appear elevated and slightly backlit. The result is a polished surface treatment that elevates the dashboard without competing with the metric data displayed on each card.
Loading skeleton shimmer animation
A content-heavy news site displays skeleton placeholder elements while articles load from the API. Each skeleton block uses a three-stop symmetrical gradient: dark grey at 0%, a noticeably lighter grey at 50% as the highlight, and dark grey again at 100%. background-size: 200% 100% is set on each skeleton and background-position animates from -100% to 100% over 1.5 seconds using a linear timing function set to loop infinitely. The three-stop gradient ensures the shimmer highlight fades smoothly in and out on both edges of the travelling highlight, producing the clean loading shimmer effect familiar to users from social media and e-commerce platforms.
Page section with spectrum divider
A creative agency site separates major page sections with a thin 4px-tall divider band that serves as a visual chapter marker. Each divider uses a horizontal three-stop gradient that spans the full brand colour range, from brand blue at 0% through violet at 50% to brand coral at 100%. The narrow gradient stripe is bold enough to act as an intentional separator and draw the eye between sections, while its height keeps it from overwhelming the content above or below. The consistent three-stop colour progression across all dividers reinforces brand identity throughout the entire page.
Use this when a two-stop gradient is too simple and you need a richer colour progression, midpoint highlight, or multi-hue transition.
Get better results with these expert suggestions:
Use a white or near-white midpoint for a glowing effect
Placing white or a very pale tint as the middle stop between two vivid end colours creates a natural glow or bloom in the centre of the gradient that simulates a light source within the element. This technique is especially effective for radial gradients on dark backgrounds, where the pale central stop looks like a concentrated point of light radiating outward to the darker end colour. Keep the middle stop position between 35% and 60% and vary it to control how intense and concentrated the central bloom appears against the surrounding colour.
Offset the midpoint to compress or expand colour zones
Moving the middle stop from the default 50% toward the first stop, for example to 25%, compresses the first-to-middle transition into a narrow zone and expands the middle-to-last transition across most of the element, making the final colour visually dominant. Moving the middle stop toward the last stop, for example to 75%, has the opposite effect. This technique gives you granular control over which colour in the trio commands the most visual attention on the element surface.
Try hue-shifted analogous triads for aurora effects
Select three analogous hues spaced approximately 30 degrees apart on the colour wheel to create a smooth spectrum transition associated with aurora and gradient mesh aesthetics. For example: deep purple at 0%, magenta at 50%, and rose pink at 100%, or teal at 0%, cyan at 50%, and sky blue at 100%. Position all three stops with medium saturation (60 to 80% in HSL) and similar lightness values for a balanced, flowing tri-colour gradient. Combine with a dark section background to maximise the vibrancy of each colour in the progression.
Use three-stop gradients on conic-gradient for colour wheels
The conic-gradient() function with three or more stops creates segmented circular elements including colour wheels and pie-chart-style data visualisations. Three evenly spaced stops at 0%, 33%, and 66% produce a clean three-segment cone effect. Vary the stop positions to create unequal segment sizes proportional to data values. The syntax follows the same colour-stop pattern as linear-gradient: background: conic-gradient(#f093fb 0%, #f5576c 33%, #4facfe 66%). This is a distinct CSS gradient type from linear and radial, fully supported in all modern browsers.
More use-case guides for the same tool:
Open the full Gradient — free, no account needed, works on any device.
Open Gradient →Free · No account needed · Works on any device