Générateur de dégradés CSS

Créez des dégradés CSS linéaires et radiaux visuellement et copiez le code CSS

Essayer un exemple
Type
Angle135°

Points de couleur

0%
100%

Sortie CSS

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

Qu'est-ce qu'un dégradé CSS ?

Un générateur de dégradés CSS est un outil visuel qui vous permet de créer des transitions de couleurs fluides sans écrire la syntaxe à la main. En CSS, un dégradé est une transition progressive entre deux couleurs ou plus, rendue directement par le navigateur sans fichier image. La spécification CSS Image Module Level 4 définit les fonctions de dégradé comme un type de valeur image, ce qui signifie qu'elles peuvent être utilisées partout où une valeur background-image, list-style-image ou border-image est acceptée. Comme le navigateur rastérise les dégradés au moment du rendu, ils s'adaptent à toute résolution sans produire d'artefacts flous sur les écrans haute densité. Utiliser un générateur de dégradés CSS fait gagner du temps et élimine les approximations — vous ajustez les couleurs et positions visuellement, puis copiez la règle CSS finale.

CSS prend en charge trois formes de dégradés principales : linéaire (le long d'une droite), radial (depuis un point central vers l'extérieur) et conique (un balayage autour d'un point central). Chaque forme accepte une liste de points de couleur, où vous spécifiez la couleur et optionnellement une position (pourcentage ou longueur). Le navigateur interpole les couleurs entre les points dans l'espace colorimétrique sRGB par défaut, bien que CSS Color Level 4 permette de spécifier d'autres espaces comme oklch et lab pour des transitions perceptuellement plus douces.

Les dégradés remplacent les fonds basés sur des images pour la plupart des usages décoratifs sur le web. Une seule règle CSS produit ce qui nécessitait autrefois un export Photoshop et une requête HTTP. Ils sont indépendants de la résolution, ne consomment aucune bande passante réseau au-delà du CSS lui-même, et peuvent être animés ou transitionnés avec les propriétés CSS standard. La syntaxe des dégradés est stable dans tous les navigateurs majeurs depuis 2013, et la forme sans préfixe fonctionne dans Chrome, Firefox, Safari et Edge sans solution de repli.

Pourquoi utiliser ce générateur de dégradés CSS ?

Écrire la syntaxe des dégradés à la main signifie deviner les positions des points, vérifier les valeurs d'angle et rafraîchir sans cesse pour voir le résultat. Un constructeur visuel vous permet de voir le dégradé au fur et à mesure, d'ajuster les points par glisser-déposer et de copier le CSS final quand le résultat convient.

Aperçu visuel en temps réel
Le dégradé se met à jour instantanément quand vous changez les couleurs, positions et angles. Plus besoin de basculer entre votre éditeur et le navigateur.
🔒
Traitement respectueux de la vie privée
Tout le rendu se fait dans votre navigateur. Aucune donnée de couleur ni configuration de dégradé n'est envoyée à un serveur.
🎨
Plusieurs types de dégradés
Créez des dégradés linéaires et radiaux avec un contrôle total sur la direction, l'angle et les positions des points de couleur. Copiez le CSS en un clic.
📋
Aucun compte requis
Ouvrez la page et commencez à créer. Pas d'inscription, pas de validation par e-mail, pas de limite de débit. Fonctionne hors ligne une fois chargé.

Cas d'usage du générateur de dégradés CSS

Développement frontend
Créez des fonds de section hero, des superpositions de cartes et des états de survol de boutons. Prévisualisez le dégradé aux dimensions cibles, puis collez le CSS directement dans votre feuille de style ou votre configuration Tailwind.
Conception de templates d'e-mail
Certains clients e-mail supportent les dégradés CSS en styles inline. Générez le code de dégradé exact et appliquez-le en inline sur l'élément, avec une couleur de repli solide pour les clients qui ne rendraient pas les dégradés.
Prototypage de design
Quand vous itérez sur des palettes de couleurs dans le navigateur plutôt que dans Figma, générez des fonds dégradés rapidement. Comparez plusieurs options côte à côte sans exporter de ressources.
Style de tableaux de bord DevOps
Les tableaux de bord de statut et les interfaces de monitoring utilisent des dégradés de couleurs pour représenter les plages de sévérité (vert à rouge) ou la densité de données. Générez les valeurs de dégradé et appliquez-les aux fonds de graphiques ou aux barres de statut.
Visualisation de données
Les bibliothèques de graphiques comme D3.js et Recharts acceptent des définitions de dégradés CSS pour les remplissages de zones et les heatmaps. Créez le dégradé visuellement, puis extrayez les couleurs des points pour votre fonction d'échelle.
Apprentissage du CSS
Les étudiants qui apprennent le CSS peuvent expérimenter avec la syntaxe des dégradés, voir comment les changements d'angle affectent la direction et comprendre le positionnement des points de couleur. Le CSS généré constitue une référence fonctionnelle.

Référence des types de dégradés CSS

CSS définit cinq fonctions de dégradé. Les trois types principaux (linear, radial, conic) ont chacun une variante répétée qui répète le motif en mosaïque. repeating-linear-gradient() et repeating-radial-gradient() sont utiles pour les fonds rayés et les anneaux concentriques. Toutes les fonctions de dégradé acceptent des points de couleur dans n'importe quel format CSS : HEX, RGB, HSL, couleurs nommées ou oklch. La compatibilité navigateur pour les cinq fonctions est universelle dans Chrome, Firefox, Safari et Edge — aucun préfixe vendeur n'est requis.

FonctionSyntaxe exempleDirectionUsage courant
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

Dégradés linéaires vs radiaux vs coniques

Chaque type de dégradé associe les couleurs à la géométrie différemment. Le choix du bon type dépend de l'effet visuel recherché, pas d'une différence de qualité entre eux. Pour la plupart des fonds de page et des séparateurs de section, un dégradé linéaire est le choix par défaut approprié — c'est le plus simple à comprendre et le plus prévisible sur des éléments de tailles variées. Les dégradés radiaux et coniques sont mieux réservés aux effets visuels spécifiques où la géométrie circulaire ou rotationnelle est significative plutôt que décorative.

linear-gradient()
Les couleurs effectuent une transition le long d'une droite définie par un angle (0deg = bas vers haut, 90deg = gauche vers droite) ou un mot-clé comme 'to right'. Le type le plus courant, utilisé pour les fonds, les superpositions et les indicateurs de progression. Supporte plusieurs points de couleur à des positions arbitraires.
radial-gradient()
Les couleurs rayonnent vers l'extérieur depuis un point central en cercle ou ellipse. Contrôle la forme, la taille et la position centrale avec la syntaxe. Utile pour les effets de projecteur, les vignettes et les éléments circulaires comme les badges ou les anneaux d'avatar.
conic-gradient()
Les couleurs balaient autour d'un point central comme les aiguilles d'une horloge. L'angle de départ est configurable avec 'from Xdeg'. Utile pour les segments de graphique circulaire, les roues de couleurs et les indicateurs de chargement rotationnels. Nécessite au moins deux points ; répéter la première couleur à la fin crée une boucle sans couture.

Exemples de code

Exemples de génération et d'application de dégradés CSS de manière programmatique en JavaScript, Python, CSS et Go. Chacun produit des chaînes de dégradé CSS valides utilisables directement dans des feuilles de style ou des styles inline.

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%)"
}

Questions fréquentes

Quelle est la différence entre linear-gradient et radial-gradient ?
linear-gradient() effectue la transition des couleurs le long d'une droite à un angle donné, tandis que radial-gradient() les fait rayonner depuis un point central en cercle ou ellipse. Les dégradés linéaires sont le choix standard pour les fonds de page et les superpositions. Les dégradés radiaux conviennent mieux aux effets de projecteur et aux éléments circulaires.
Comment définir la direction d'un dégradé linéaire ?
Utilisez un angle en degrés (ex. 90deg pour gauche-vers-droite, 180deg pour haut-vers-bas) ou un mot-clé (to right, to bottom left). L'angle tourne dans le sens horaire depuis le bas : 0deg pointe vers le haut, 90deg vers la droite. Vous pouvez aussi utiliser 'to top right' pour cibler un coin, et le navigateur calcule l'angle exact selon le ratio d'aspect de l'élément.
Peut-on animer un dégradé CSS ?
Les navigateurs ne peuvent pas interpoler directement entre deux valeurs de dégradé avec les transitions CSS. Les solutions courantes sont : animer le background-position d'un dégradé surdimensionné, utiliser @property pour animer les valeurs des points de couleur individuels comme propriétés personnalisées, ou faire un fondu croisé avec l'opacité sur un pseudo-élément. L'approche @property (supportée dans Chrome et Edge depuis 2020, Firefox depuis 2024) est la solution la plus propre.
Combien de points de couleur un dégradé peut-il avoir ?
La spécification CSS ne fixe pas de maximum. Les navigateurs gèrent des dégradés avec des dizaines de points sans problème de performance. En pratique, la plupart des dégradés utilisent 2 à 5 points. Chaque point peut spécifier une couleur et une position optionnelle en pourcentage ou en valeur de longueur. Vous pouvez aussi définir deux positions par point pour créer une bande de couleur franche sans transition.
Quelle est la différence entre un dégradé et une image ?
En CSS, un dégradé est une image calculée. Il partage le même pipeline de rendu que les images url() et peut être utilisé partout où une valeur image est valide : background-image, list-style-image, border-image et mask-image. La différence est qu'un dégradé est généré par le navigateur au moment du rendu, s'adapte à n'importe quelle taille sans perte de qualité, et n'ajoute aucun octet au poids de la page puisqu'aucun fichier n'est téléchargé.
Comment créer un dégradé avec un point de couleur franc (sans transition) ?
Placez deux points de couleur à la même position. Par exemple, linear-gradient(to right, #6366f1 50%, #ec4899 50%) crée une séparation nette sans fusion entre les couleurs. Vous pouvez aussi utiliser la syntaxe à deux positions : linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) pour définir chaque bande explicitement.
La fonction conic-gradient est-elle supportée par tous les navigateurs ?
conic-gradient() est supportée dans Chrome 69+, Firefox 83+, Safari 12.1+ et Edge 79+. En 2024, la compatibilité navigateur mondiale dépasse 95 % selon les données de Can I Use. Aucun préfixe vendeur n'est nécessaire. Pour le faible pourcentage d'utilisateurs sur des navigateurs anciens, définissez une background-color solide comme solution de repli avant la déclaration de dégradé.