CSS Gradient Generator

Створюйте лінійні та радіальні CSS-градієнти візуально та копіюйте CSS-код

Спробувати приклад
Тип
Кут135°

Кольорові точки

0%
100%

CSS-вивід

background: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);

Що таке CSS-градієнт?

Генератор CSS-градієнтів — це візуальний інструмент, який допомагає створювати плавні переходи кольорів без ручного написання синтаксису градієнтів. У CSS градієнт — це плавний перехід між двома або більше кольорами, який браузер відтворює безпосередньо без жодного файлу зображення. Специфікація CSS Image Module Level 4 визначає функції градієнтів як різновид значення зображення, тобто їх можна застосовувати скрізь, де приймається background-image, list-style-image або border-image. Оскільки браузер растеризує градієнти під час рендерингу, вони масштабуються до будь-якого розміру і ніколи не дають розмитих артефактів на екранах з високою щільністю пікселів. Використання генератора CSS-градієнтів економить час та усуває необхідність здогадок — ви налаштовуєте кольори та позиції візуально, а потім копіюєте готове CSS-правило.

CSS підтримує три основні форми градієнтів: лінійні (вздовж прямої лінії), радіальні (від центральної точки назовні) та конічні (обертання навколо центральної точки). Кожна форма приймає список кольорових точок, де ви вказуєте колір і, за потреби, позицію (у відсотках або одиницях довжини). Браузер інтерполює кольори між точками у кольоровому просторі sRGB за замовчуванням, хоча CSS Color Level 4 дозволяє вказувати інші кольорові простори, як-от oklch та lab, для сприйнятливо плавніших переходів.

Градієнти замінили фони на основі зображень для більшості декоративних цілей у вебі. Одне CSS-правило замінює те, що колись вимагало експорту з Photoshop та HTTP-запиту. Вони незалежні від роздільної здатності, не потребують мережевого трафіку поза самим CSS і можуть анімуватися стандартними CSS-властивостями. Синтаксис градієнтів залишається стабільним у всіх основних браузерах з 2013 року, і форма без префіксів працює в Chrome, Firefox, Safari та Edge без запасних варіантів.

Навіщо використовувати цей генератор CSS-градієнтів?

Написання синтаксису градієнтів вручну означає вгадування позицій точок, перевірку значень кутів та багаторазове оновлення сторінки для перегляду результату. Візуальний конструктор дає змогу бачити градієнт у процесі його створення, перетягувати точки та копіювати готовий CSS, коли результат виглядає правильно.

Живий візуальний перегляд
Спостерігайте, як градієнт оновлюється в реальному часі при зміні кольорів, позицій та кутів. Не потрібно перемикатися між редактором та браузером.
🔒
Обробка з пріоритетом приватності
Весь рендеринг відбувається у вашому браузері. Жодні дані про кольори чи конфігурації градієнтів не надсилаються на жоден сервер.
🎨
Кілька типів градієнтів
Створюйте лінійні та радіальні градієнти з повним контролем над напрямком, кутом та позиціями кольорових точок. Копіюйте CSS одним кліком.
📋
Без облікового запису
Відкрийте сторінку і починайте створювати. Без реєстрації, без email, без обмежень запитів. Працює офлайн після завантаження.

Варіанти використання генератора CSS-градієнтів

Фронтенд-розробка
Створюйте фони для секцій-hero, накладення на картки та стани наведення для кнопок. Переглядайте градієнт у цільових розмірах, а потім вставляйте CSS безпосередньо у свій файл стилів або конфігурацію Tailwind.
Розробка шаблонів електронних листів
Деякі поштові клієнти підтримують CSS-градієнти в інлайн-стилях. Згенеруйте точний код градієнта та вбудуйте його в елемент, встановивши суцільний запасний колір для клієнтів, що не відтворюють градієнти.
Прототипування дизайну
Під час ітерацій над колірними схемами в браузері замість Figma — швидко генеруйте фони з градієнтами. Порівнюйте кілька варіантів поруч без експорту ресурсів.
Оформлення DevOps-дашбордів
Статусні дашборди та інтерфейси моніторингу використовують кольорові градієнти для відображення діапазонів критичності (від зеленого до червоного) або щільності даних. Згенеруйте значення градієнта та застосуйте їх до фонів діаграм або рядків стану.
Візуалізація даних
Бібліотеки діаграм на кшталт D3.js та Recharts приймають CSS-градієнти для заповнення ділянок та теплових карт. Створіть градієнт візуально, а потім витягніть кольори точок для функції масштабу.
Вивчення CSS
Студенти, що вивчають CSS, можуть експериментувати із синтаксисом градієнтів, спостерігати, як зміна кута впливає на напрямок, та розуміти позиціонування кольорових точок. Згенерований CSS слугує робочим довідником.

Довідник типів CSS-градієнтів

CSS визначає п'ять функцій градієнтів. Три основні типи (linear, radial, conic) мають варіанти з повторенням, що тиражують візерунок. repeating-linear-gradient() та repeating-radial-gradient() корисні для смугастих фонів і концентричних кілець. Всі функції градієнтів приймають кольорові точки в будь-якому CSS-форматі кольору: HEX, RGB, HSL, іменовані кольори або oklch. Підтримка браузерами всіх п'яти функцій є фактично загальною в Chrome, Firefox, Safari та Edge — вендорні префікси не потрібні.

ФункціяПриклад синтаксисуНапрямокПоширене використання
linear-gradient()to right, #f00, #00fStraight lineBackgrounds, hero sections, progress bars
radial-gradient()circle, #f00, #00fOutward from centerSpotlight effects, buttons, badges
conic-gradient()from 0deg, #f00, #00fSweep around centerPie charts, color wheels, spinners
repeating-linearto right, #f00 0 10px, #00f 10px 20pxTiled lineStripes, progress indicators, decorative borders
repeating-radialcircle, #f00 0 10px, #00f 10px 20pxTiled circleConcentric ring patterns, retro textures

Linear vs Radial vs Conic градієнти

Кожен тип градієнта по-різному відображає кольори на геометрію. Вибір правильного типу залежить від потрібного візуального ефекту, а не від якісної різниці між ними. Для більшості фонів сторінок та роздільників секцій лінійний градієнт є правильним вибором за замовчуванням — він найпростіший для розуміння і найбільш передбачуваний для елементів різних розмірів. Радіальні та конічні градієнти краще залишити для конкретних візуальних ефектів, де кругова або ротаційна геометрія є смислово значущою, а не лише декоративною.

linear-gradient()
Кольори переходять вздовж прямої лінії, визначеної кутом (0deg = знизу вгору, 90deg = зліва направо) або ключовим словом на кшталт 'to right'. Найпоширеніший тип, що використовується для фонів, накладень та індикаторів прогресу. Підтримує кілька кольорових точок у довільних позиціях.
radial-gradient()
Кольори розходяться від центральної точки у вигляді кола або еліпса. За допомогою синтаксису можна керувати формою, розміром та позицією центру. Корисний для ефектів прожектора, він'єтки та кругових елементів інтерфейсу на кшталт бейджів або кілець аватарів.
conic-gradient()
Кольори обертаються навколо центральної точки як стрілки годинника. Початковий кут налаштовується за допомогою 'from Xdeg'. Корисний для сегментів кругових діаграм, колірних коліс та ротаційних індикаторів завантаження. Потребує щонайменше двох точок; повторення першого кольору в кінці створює безшовну петлю.

Приклади коду

Приклади програмного генерування та застосування CSS-градієнтів у JavaScript, Python, CSS та Go. Кожен виробляє коректні рядки CSS-градієнтів, які можна безпосередньо використовувати у файлах стилів або інлайн-стилях.

JavaScript
// Generate a CSS linear-gradient string from an array of stops
function buildGradient(angle, stops) {
  const parts = stops.map(s => `${s.color} ${s.position}%`)
  return `linear-gradient(${angle}deg, ${parts.join(', ')})`
}

const stops = [
  { color: '#6366f1', position: 0 },
  { color: '#ec4899', position: 50 },
  { color: '#f59e0b', position: 100 },
]
buildGradient(90, stops)
// -> "linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

// Apply to an element
document.querySelector('.hero').style.background = buildGradient(135, stops)
Python
# Generate a CSS gradient string for use in templates or SVGs
def build_gradient(angle: int, stops: list[tuple[str, int]]) -> str:
    parts = [f"{color} {pos}%" for color, pos in stops]
    return f"linear-gradient({angle}deg, {', '.join(parts)})"

stops = [("#6366f1", 0), ("#ec4899", 50), ("#f59e0b", 100)]
print(build_gradient(135, stops))
# -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

# Interpolate N colors between two endpoints
def interpolate_hex(c1: str, c2: str, steps: int) -> list[str]:
    r1, g1, b1 = int(c1[1:3], 16), int(c1[3:5], 16), int(c1[5:7], 16)
    r2, g2, b2 = int(c2[1:3], 16), int(c2[3:5], 16), int(c2[5:7], 16)
    return [
        f"#{int(r1+(r2-r1)*i/(steps-1)):02x}"
        f"{int(g1+(g2-g1)*i/(steps-1)):02x}"
        f"{int(b1+(b2-b1)*i/(steps-1)):02x}"
        for i in range(steps)
    ]

interpolate_hex("#6366f1", "#f59e0b", 4)
# -> ['#6366f1', '#9a7399', '#d18042', '#f59e0b']
CSS
/* Linear gradient — left to right */
.hero {
  background: linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%);
}

/* Radial gradient — circular spotlight */
.badge {
  background: radial-gradient(circle at 30% 30%, #6366f1, #312e81);
}

/* Conic gradient — color wheel */
.wheel {
  background: conic-gradient(from 0deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6, #ef4444);
  border-radius: 50%;
}

/* Multi-stop with transparency */
.overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 60%,
    rgba(0, 0, 0, 0.9) 100%
  );
}

/* Repeating stripes */
.stripes {
  background: repeating-linear-gradient(
    45deg,
    #6366f1 0 10px,
    transparent 10px 20px
  );
}
Go
package main

import "fmt"

// Stop represents one color stop in a gradient.
type Stop struct {
	Color    string
	Position int // percent 0-100
}

func buildGradient(angle int, stops []Stop) string {
	result := fmt.Sprintf("linear-gradient(%ddeg", angle)
	for _, s := range stops {
		result += fmt.Sprintf(", %s %d%%", s.Color, s.Position)
	}
	return result + ")"
}

func main() {
	stops := []Stop{
		{"#6366f1", 0},
		{"#ec4899", 50},
		{"#f59e0b", 100},
	}
	fmt.Println(buildGradient(135, stops))
	// -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"
}

Поширені запитання

У чому різниця між linear-gradient та radial-gradient?
linear-gradient() переводить кольори вздовж прямої лінії під заданим кутом, тоді як radial-gradient() переводить кольори від центральної точки назовні у вигляді кола або еліпса. Лінійні градієнти — стандартний вибір для фонів сторінок та накладень. Радіальні градієнти краще підходять для ефектів прожектора та кругових елементів інтерфейсу.
Як задати напрямок лінійного градієнта?
Використовуйте кут у градусах (наприклад, 90deg для напрямку зліва направо, 180deg для напрямку зверху вниз) або ключове слово (to right, to bottom left). Кут обертається за годинниковою стрілкою від нижньої точки: 0deg вказує вгору, 90deg — вправо. Можна також використовувати 'to top right' для цільового кута, і браузер обчислить точний кут на основі пропорцій елемента.
Чи можна анімувати CSS-градієнт?
Браузери не можуть безпосередньо інтерполювати між двома значеннями градієнтів за допомогою CSS-переходів. Поширені обхідні шляхи: анімація background-position збільшеного градієнта, використання @property для анімації окремих значень кольорових точок як кастомних властивостей, або перехрещений перехід за допомогою opacity на псевдоелементі. Підхід з @property (підтримується в Chrome та Edge з 2020 року, Firefox — з 2024 року) є найчистішим рішенням.
Скільки кольорових точок може мати градієнт?
Специфікація CSS не встановлює максимуму. Браузери обробляють градієнти з десятками точок без проблем з продуктивністю. На практиці більшість градієнтів використовують від 2 до 5 точок. Кожна точка може вказувати колір і необов'язкову позицію у відсотках або одиницях довжини. Також можна визначити дві позиції для однієї точки, щоб створити тверду кольорову смугу без переходу.
У чому різниця між градієнтом та зображенням?
У CSS градієнт є обчислюваним зображенням. Він розділяє той самий конвеєр рендерингу, що й зображення url(), і може використовуватися скрізь, де допустиме значення зображення: background-image, list-style-image, border-image та mask-image. Різниця в тому, що градієнт генерується браузером під час рендерингу, масштабується до будь-якого розміру без втрати якості і не додає жодного байта до ваги сторінки, оскільки жоден файл не завантажується.
Як створити градієнт з твердою кольоровою точкою (без переходу)?
Помістіть дві кольорові точки на одну позицію. Наприклад, linear-gradient(to right, #6366f1 50%, #ec4899 50%) створює чіткий поділ без змішування кольорів. Також можна використовувати синтаксис двох позицій: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) для явного визначення кожної смуги.
Чи підтримується функція conic-gradient у всіх браузерах?
conic-gradient() підтримується в Chrome 69+, Firefox 83+, Safari 12.1+ та Edge 79+. Станом на 2024 рік, загальна підтримка браузерами перевищує 95% за даними Can I Use. Вендорний префікс не потрібен. Для невеликого відсотка користувачів зі старішими браузерами встановіть суцільний background-color як запасний варіант перед оголошенням градієнта.