Gerador de Gradientes CSS

Construa gradientes CSS lineares e radiais visualmente e copie o código

Experimente um exemplo
Tipo
Ângulo135°

Paradas de cor

0%
100%

Saída CSS

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

O Que É um Gradiente CSS?

Um gerador de gradientes CSS é uma ferramenta visual que ajuda a construir transições suaves de cor sem precisar escrever a sintaxe de gradiente manualmente. Em CSS, um gradiente é uma transição suave entre duas ou mais cores, renderizada diretamente pelo navegador sem nenhum arquivo de imagem. A especificação CSS Image Module Level 4 define funções de gradiente como um tipo de valor de imagem, o que significa que podem aparecer em qualquer lugar onde um valor de background-image, list-style-image ou border-image é aceito. Como o navegador rasteriza os gradientes em tempo de renderização, eles se adaptam a qualquer resolução e nunca produzem artefatos borrados em telas de alta densidade. Usar um gerador de gradientes CSS economiza tempo e elimina tentativas e erros — você ajusta cores e posições visualmente e copia a regra CSS pronta.

O CSS suporta três formas principais de gradiente: linear (ao longo de uma linha reta), radial (a partir de um ponto central) e cônico (uma varredura ao redor de um ponto central). Cada forma aceita uma lista de paradas de cor, onde você especifica a cor e, opcionalmente, uma posição (porcentagem ou comprimento). O navegador interpola as cores entre as paradas usando o espaço de cor sRGB por padrão, embora o CSS Color Level 4 permita especificar outros espaços de cor como oklch e lab para transições perceptualmente mais suaves.

Os gradientes substituem fundos baseados em imagens para a maioria dos fins decorativos na web. Uma única regra CSS produz o que antes exigia uma exportação do Photoshop e uma requisição HTTP. Eles são independentes de resolução, não requerem largura de banda além do próprio CSS e podem ser animados ou usados em transições com propriedades CSS padrão. A sintaxe de gradiente é estável em todos os principais navegadores desde 2013, e a forma sem prefixo funciona no Chrome, Firefox, Safari e Edge sem necessidade de alternativas.

Por Que Usar Este Gerador de Gradientes CSS?

Escrever a sintaxe de gradiente manualmente significa adivinhar posições de paradas, verificar valores de ângulo e atualizar a página repetidamente para ver o resultado. Um construtor visual permite ver o gradiente enquanto você o cria, ajustar as paradas arrastando e copiar o CSS final quando estiver do jeito certo.

Pré-visualização Visual em Tempo Real
Veja o gradiente atualizar em tempo real à medida que você altera cores, posições e ângulos. Sem necessidade de alternar entre o editor e o navegador.
🔒
Processamento com Privacidade em Primeiro Lugar
Todo o processamento acontece no seu navegador. Nenhum dado de cor ou configuração de gradiente é enviado a qualquer servidor.
🎨
Múltiplos Tipos de Gradiente
Construa gradientes lineares e radiais com controle total sobre direção, ângulo e posições das paradas de cor. Copie o CSS com um clique.
📋
Sem Necessidade de Conta
Abra a página e comece a criar. Sem cadastro, sem barreira de e-mail, sem limites de uso. Funciona offline após o carregamento.

Casos de Uso do Gerador de Gradientes CSS

Desenvolvimento Frontend
Construa fundos para seções hero, sobreposições em cartões e estados hover de botões. Pré-visualize o gradiente nas dimensões de destino e cole o CSS diretamente na sua folha de estilos ou configuração do Tailwind.
Design de Templates de E-mail
Alguns clientes de e-mail suportam gradientes CSS em estilos inline. Gere o código de gradiente exato e aplique-o inline no elemento, com uma cor sólida como alternativa para clientes que não renderizam gradientes.
Prototipagem de Design
Ao iterar esquemas de cores no navegador em vez do Figma, gere fundos com gradiente rapidamente. Compare múltiplas opções lado a lado sem precisar exportar assets.
Estilização de Dashboards DevOps
Dashboards de status e interfaces de monitoramento usam gradientes de cor para representar faixas de severidade (verde a vermelho) ou densidade de dados. Gere os valores de gradiente e aplique-os em fundos de gráficos ou barras de status.
Visualização de Dados
Bibliotecas de gráficos como D3.js e Recharts aceitam definições de gradientes CSS para preenchimentos de área e mapas de calor. Construa o gradiente visualmente e extraia as cores das paradas para sua função de escala.
Aprendizado de CSS
Estudantes de CSS podem experimentar com a sintaxe de gradiente, ver como mudanças de ângulo afetam a direção e entender o posicionamento das paradas de cor. O CSS gerado serve como referência funcional.

Referência de Tipos de Gradiente CSS

O CSS define cinco funções de gradiente. Os três tipos principais (linear, radial, cônico) têm uma variante repetida que repete o padrão em mosaico. repeating-linear-gradient() e repeating-radial-gradient() são úteis para fundos listrados e anéis concêntricos. Todas as funções de gradiente aceitam paradas de cor em qualquer formato CSS: HEX, RGB, HSL, cores nomeadas ou oklch. O suporte nos navegadores para as cinco funções é praticamente universal no Chrome, Firefox, Safari e Edge — nenhum prefixo de fornecedor é necessário.

FunçãoSintaxe de exemploDireçãoUso comum
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 Linear vs Radial vs Cônico

Cada tipo de gradiente mapeia cores para geometrias de forma diferente. Escolher o tipo certo depende do efeito visual desejado, não de uma diferença de qualidade entre eles. Para a maioria dos fundos de página e divisores de seção, um gradiente linear é o padrão correto — é o mais simples de entender e o mais previsível em elementos de tamanhos variados. Gradientes radiais e cônicos são mais adequados para efeitos visuais específicos onde a geometria circular ou rotacional é significativa, e não meramente decorativa.

linear-gradient()
As cores fazem transição ao longo de uma linha reta definida por um ângulo (0deg = de baixo para cima, 90deg = da esquerda para a direita) ou uma palavra-chave como 'to right'. O tipo mais comum, usado para fundos, sobreposições e indicadores de progresso. Suporta múltiplas paradas de cor em posições arbitrárias.
radial-gradient()
As cores irradiam a partir de um ponto central em círculo ou elipse. Controle a forma, o tamanho e a posição do centro com a sintaxe. Útil para efeitos de holofote, vinhetas e elementos de UI circulares como emblemas ou anéis de avatar.
conic-gradient()
As cores varrem ao redor de um ponto central como os ponteiros de um relógio. O ângulo inicial é configurável com 'from Xdeg'. Útil para segmentos de gráfico de pizza, rodas de cores e indicadores de carregamento rotacionais. Requer pelo menos duas paradas; repetir a primeira cor no final cria um loop contínuo.

Exemplos de Código

Exemplos de geração e aplicação de gradientes CSS de forma programática em JavaScript, Python, CSS e Go. Cada um produz strings de gradiente CSS válidas que você pode usar diretamente em folhas de estilos ou estilos 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%)"
}

Perguntas Frequentes

Qual é a diferença entre linear-gradient e radial-gradient?
linear-gradient() faz a transição de cores ao longo de uma linha reta em um determinado ângulo, enquanto radial-gradient() irradia cores a partir de um ponto central em círculo ou elipse. Gradientes lineares são a escolha padrão para fundos de página e sobreposições. Gradientes radiais funcionam melhor para efeitos de holofote e elementos de UI circulares.
Como defino a direção de um gradiente linear?
Use um ângulo em graus (por exemplo, 90deg para esquerda para direita, 180deg para cima para baixo) ou uma palavra-chave (to right, to bottom left). O ângulo gira no sentido horário a partir da parte inferior: 0deg aponta para cima, 90deg aponta para a direita. Você também pode usar 'to top right' para apontar para um canto, e o navegador calcula o ângulo exato com base na proporção do elemento.
Posso animar um gradiente CSS?
Os navegadores não conseguem interpolar diretamente entre dois valores de gradiente com transições CSS. As soluções alternativas comuns são: animar o background-position de um gradiente maior que o elemento, usar @property para animar valores individuais de parada de cor como propriedades customizadas, ou fazer um cross-fade com opacity em um pseudo-elemento. A abordagem com @property (suportada no Chrome e Edge desde 2020, no Firefox desde 2024) é a solução mais limpa.
Quantas paradas de cor um gradiente pode ter?
A especificação CSS não define um máximo. Os navegadores lidam com gradientes com dezenas de paradas sem problemas de desempenho. Na prática, a maioria dos gradientes usa de 2 a 5 paradas. Cada parada pode especificar uma cor e uma posição opcional como porcentagem ou valor de comprimento. Você também pode definir duas posições por parada para criar uma faixa de cor sólida sem transição.
Qual é a diferença entre um gradiente e uma imagem?
Em CSS, um gradiente é uma imagem computada. Ele compartilha o mesmo pipeline de renderização que imagens url() e pode ser usado em qualquer lugar onde um valor de imagem é válido: background-image, list-style-image, border-image e mask-image. A diferença é que um gradiente é gerado pelo navegador em tempo de renderização, escala para qualquer tamanho sem perda de qualidade e não adiciona nenhum byte ao peso da página, pois nenhum arquivo é baixado.
Como crio um gradiente com uma parada de cor sólida (sem transição)?
Coloque duas paradas de cor na mesma posição. Por exemplo, linear-gradient(to right, #6366f1 50%, #ec4899 50%) cria uma divisão precisa sem mistura entre as cores. Você também pode usar a sintaxe de duas posições: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) para definir cada faixa explicitamente.
A função conic-gradient é suportada em todos os navegadores?
conic-gradient() é suportado no Chrome 69+, Firefox 83+, Safari 12.1+ e Edge 79+. Em 2024, o suporte global nos navegadores supera 95% de acordo com os dados do Can I Use. Nenhum prefixo de fornecedor é necessário. Para a pequena porcentagem de usuários em navegadores mais antigos, defina um background-color sólido como alternativa antes da declaração do gradiente.