Generador de Gradientes CSS

Crea gradientes CSS lineales y radiales visualmente y copia el código CSS

Prueba un ejemplo
Tipo
Ángulo135°

Puntos de color

0%
100%

Salida CSS

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

¿Qué es un gradiente CSS?

Un generador de gradientes CSS es una herramienta visual que te ayuda a crear transiciones de color suaves sin escribir la sintaxis de gradiente a mano. En CSS, un gradiente es una transición suave entre dos o más colores, renderizada directamente por el navegador sin ningún archivo de imagen. La especificación CSS Image Module Level 4 define las funciones de gradiente como un tipo de valor de imagen, lo que significa que pueden aparecer en cualquier lugar donde se acepte un valor de background-image, list-style-image o border-image. Dado que el navegador rasteriza los gradientes en tiempo de renderizado, se escalan a cualquier resolución y nunca producen artefactos borrosos en pantallas de alta densidad. Usar un generador de gradientes CSS ahorra tiempo y elimina las conjeturas — ajustas colores y posiciones visualmente y luego copias la regla CSS terminada.

CSS admite tres formas principales de gradiente: lineal (a lo largo de una línea recta), radial (hacia afuera desde un punto central) y cónico (un barrido alrededor de un punto central). Cada forma acepta una lista de puntos de color, donde especificas el color y opcionalmente una posición (porcentaje o longitud). El navegador interpola los colores entre puntos usando el espacio de color sRGB por defecto, aunque CSS Color Level 4 permite especificar otros espacios de color como oklch y lab para transiciones perceptualmente más suaves.

Los gradientes reemplazan los fondos basados en imágenes para la mayoría de los propósitos decorativos en la web. Una sola regla CSS produce lo que antes requería una exportación de Photoshop y una petición HTTP. Son independientes de la resolución, no requieren ancho de banda de red más allá del propio CSS y pueden animarse o transicionarse con propiedades CSS estándar. La sintaxis de gradiente ha sido estable en todos los principales navegadores desde 2013, y la forma sin prefijos funciona en Chrome, Firefox, Safari y Edge sin necesidad de alternativas.

¿Por qué usar este generador de gradientes CSS?

Escribir la sintaxis de gradiente a mano implica adivinar las posiciones de los puntos, verificar los valores de ángulo y actualizar el navegador repetidamente para ver el resultado. Un constructor visual te permite ver el gradiente mientras lo creas, ajustar los puntos arrastrándolos y copiar el CSS final cuando tiene el aspecto correcto.

Vista previa visual en tiempo real
Observa cómo se actualiza el gradiente en tiempo real mientras cambias colores, posiciones y ángulos. Sin necesidad de alternar entre tu editor y el navegador.
🔒
Procesamiento con privacidad primero
Todo el renderizado ocurre en tu navegador. Ningún dato de color ni configuración de gradiente se envía a ningún servidor.
🎨
Múltiples tipos de gradiente
Crea gradientes lineales y radiales con control total sobre la dirección, el ángulo y las posiciones de los puntos de color. Copia el CSS con un solo clic.
📋
Sin cuenta requerida
Abre la página y empieza a crear. Sin registro, sin restricción por correo, sin límites de uso. Funciona sin conexión una vez cargado.

Casos de uso del generador de gradientes CSS

Desarrollo frontend
Crea fondos para secciones hero, superposiciones en tarjetas y estados hover de botones. Previsualiza el gradiente con las dimensiones objetivo y luego pega el CSS directamente en tu hoja de estilos o en la configuración de Tailwind.
Diseño de plantillas de correo
Algunos clientes de correo admiten gradientes CSS en estilos en línea. Genera el código de gradiente exacto e inclúyelo directamente en el elemento, con un color sólido como alternativa para los clientes que no renderizan gradientes.
Prototipado de diseño
Cuando iteras sobre esquemas de color en el navegador en lugar de Figma, genera fondos con gradiente rápidamente. Compara varias opciones en paralelo sin necesidad de exportar recursos.
Estilizado de paneles DevOps
Los paneles de estado y las interfaces de monitorización usan gradientes de color para representar rangos de gravedad (verde a rojo) o densidad de datos. Genera los valores del gradiente y aplícalos a fondos de gráficos o barras de estado.
Visualización de datos
Librerías de gráficos como D3.js y Recharts aceptan definiciones de gradientes CSS para rellenos de área y mapas de calor. Construye el gradiente visualmente y luego extrae los colores de los puntos para tu función de escala.
Aprender CSS
Los estudiantes que aprenden CSS pueden experimentar con la sintaxis de gradiente, ver cómo los cambios de ángulo afectan la dirección y entender el posicionamiento de los puntos de color. El CSS generado es una referencia funcional.

Referencia de tipos de gradiente CSS

CSS define cinco funciones de gradiente. Los tres tipos principales (linear, radial, conic) tienen cada uno una variante repetitiva que reproduce el patrón en mosaico. repeating-linear-gradient() y repeating-radial-gradient() son útiles para fondos rayados y anillos concéntricos. Todas las funciones de gradiente aceptan puntos de color en cualquier formato de color CSS: HEX, RGB, HSL, colores con nombre u oklch. La compatibilidad con las cinco funciones es prácticamente universal en Chrome, Firefox, Safari y Edge — no se necesitan prefijos de proveedor.

FunciónSintaxis de ejemploDirecciónUso común
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

Gradientes lineales vs radiales vs cónicos

Cada tipo de gradiente asigna colores a la geometría de forma diferente. Elegir el tipo correcto depende del efecto visual que necesitas, no de una diferencia de calidad entre ellos. Para la mayoría de los fondos de página y divisores de sección, un gradiente lineal es la opción predeterminada correcta — es el más sencillo de entender y el más predecible en elementos de distintos tamaños. Los gradientes radiales y cónicos son más adecuados para efectos visuales específicos donde la geometría circular o rotacional tiene sentido más allá de lo meramente decorativo.

linear-gradient()
Los colores transicionan a lo largo de una línea recta definida por un ángulo (0deg = abajo hacia arriba, 90deg = izquierda a derecha) o una palabra clave como 'to right'. El tipo más común, usado para fondos, superposiciones e indicadores de progreso. Admite múltiples puntos de color en posiciones arbitrarias.
radial-gradient()
Los colores irradian hacia afuera desde un punto central en un círculo o elipse. Controla la forma, el tamaño y la posición del centro con la sintaxis. Útil para efectos de foco, viñetas y elementos de interfaz circular como insignias o bordes de avatar.
conic-gradient()
Los colores barren alrededor de un punto central como las agujas de un reloj. El ángulo inicial se configura con 'from Xdeg'. Útil para segmentos de gráficos circulares, ruedas de color e indicadores de carga rotacionales. Requiere al menos dos puntos; repetir el primer color al final crea un bucle continuo.

Ejemplos de código

Ejemplos de generación y aplicación de gradientes CSS de forma programática en JavaScript, Python, CSS y Go. Cada uno produce cadenas de gradiente CSS válidas que puedes usar directamente en hojas de estilos o estilos en línea.

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

Preguntas frecuentes

¿Cuál es la diferencia entre linear-gradient y radial-gradient?
linear-gradient() transiciona los colores a lo largo de una línea recta en un ángulo determinado, mientras que radial-gradient() los transiciona hacia afuera desde un punto central en un círculo o elipse. Los gradientes lineales son la opción estándar para fondos de página y superposiciones. Los gradientes radiales funcionan mejor para efectos de foco y elementos de interfaz circular.
¿Cómo establezco la dirección de un gradiente lineal?
Usa un ángulo en grados (por ejemplo, 90deg para izquierda-derecha, 180deg para arriba-abajo) o una palabra clave (to right, to bottom left). El ángulo gira en sentido horario desde la parte inferior: 0deg apunta hacia arriba, 90deg apunta hacia la derecha. También puedes usar 'to top right' para apuntar a una esquina, y el navegador calcula el ángulo exacto según la proporción de aspecto del elemento.
¿Puedo animar un gradiente CSS?
Los navegadores no pueden interpolar directamente entre dos valores de gradiente con transiciones CSS. Las soluciones habituales son: animar el background-position de un gradiente sobredimensionado, usar @property para animar valores individuales de puntos de color como propiedades personalizadas, o hacer un fundido cruzado con opacity en un pseudo-elemento. El enfoque con @property (compatible con Chrome y Edge desde 2020, Firefox desde 2024) es la solución más limpia.
¿Cuántos puntos de color puede tener un gradiente?
La especificación CSS no establece un máximo. Los navegadores manejan gradientes con docenas de puntos sin problemas de rendimiento. En la práctica, la mayoría de los gradientes usan entre 2 y 5 puntos. Cada punto puede especificar un color y una posición opcional como porcentaje o valor de longitud. También puedes definir dos posiciones por punto para crear una banda de color sólida sin transición.
¿Cuál es la diferencia entre un gradiente y una imagen?
En CSS, un gradiente es una imagen calculada. Comparte la misma canalización de renderizado que las imágenes url() y puede usarse en cualquier lugar donde sea válido un valor de imagen: background-image, list-style-image, border-image y mask-image. La diferencia es que el navegador genera el gradiente en tiempo de renderizado, se escala a cualquier tamaño sin pérdida de calidad y no añade ningún byte al peso de la página, ya que no se descarga ningún archivo.
¿Cómo creo un gradiente con un punto de color duro (sin transición)?
Coloca dos puntos de color en la misma posición. Por ejemplo, linear-gradient(to right, #6366f1 50%, #ec4899 50%) crea una división nítida sin mezcla entre los colores. También puedes usar la sintaxis de dos posiciones: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) para definir cada banda explícitamente.
¿La función conic-gradient es compatible con todos los navegadores?
conic-gradient() es compatible con Chrome 69+, Firefox 83+, Safari 12.1+ y Edge 79+. A partir de 2024, la compatibilidad global supera el 95% según los datos de Can I Use. No se necesita prefijo de proveedor. Para el pequeño porcentaje de usuarios con navegadores más antiguos, define un background-color sólido como alternativa antes de la declaración del gradiente.