Gerador de theme-color
Monta a meta theme-color que define a cor da barra do navegador (mobile).
Meta theme-color: colorindo a barra do navegador no mobile e em PWAs
A tag <meta name="theme-color"> é uma linha minúscula de HTML com impacto desproporcional na percepção de marca: ela tinge a barra de endereço do Chrome no Android, a status bar do Safari iOS 15+, a barra de título de PWAs instalados, o tile no app switcher, o splash screen do PWA e até os previews de link no Discord, Slack e Telegram. Uma única linha leva a cor da sua marca do favicon para todo o chrome nativo que o sistema operacional expõe. Sem ela, o navegador cai no padrão branco ou cinza, quebrando a continuidade visual entre página e moldura.
Sintaxe, formatos de cor e variantes dark mode com media queries
A forma mais simples é <meta name="theme-color" content="#1e40af">. O atributo content aceita qualquer cor CSS válida: hex (#fff, #ffffff, #ffffffaa), rgb(), rgba(), hsl(), cores nomeadas (tomato) e até sintaxe moderna como oklch() nos navegadores mais recentes. Para suportar modo claro e escuro, envie duas tags com o atributo media carregando prefers-color-scheme — o navegador escolhe a que combina com a aparência atual do sistema. Combina perfeitamente com a mesma media query no seu CSS.
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#0f172a" media="(prefers-color-scheme: dark)">
<meta name="theme-color" content="#1e40af"> <!-- fallback -->
theme_color no manifest PWA e particularidades do iOS
Um PWA também declara cor no manifest.json, usada no splash screen, no chrome da janela standalone e no tile do app switcher após o install. Mantenha o valor do manifest em sincronia com a meta tag — caso contrário o usuário vê uma cor no navegador e outra no app instalado. O Safari iOS adiciona uma tag separada, <meta name="apple-mobile-web-app-status-bar-style">, que aceita default, black ou black-translucent e controla a status bar quando o usuário abre o site pela tela inicial em modo fullscreen. Para tiles fixados no Windows 10 / 11, <meta name="msapplication-TileColor"> define a cor de fundo no menu Iniciar.
<link rel="manifest" href="/manifest.json">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="msapplication-TileColor" content="#1e40af">
<meta name="msapplication-navbutton-color" content="#1e40af">
// manifest.json
{
"name": "1001 Ferramentas",
"theme_color": "#1e40af",
"background_color": "#0f172a",
"display": "standalone"
}
Atualizando theme-color dinamicamente com JavaScript
Interfaces modernas às vezes animam o theme-color enquanto o usuário rola, troca de seção ou abre um modal. O navegador relê a meta tag sempre que o atributo content muda, então uma única linha de script atualiza o chrome em tempo real. Combine com um listener de scroll ou um Intersection Observer para casar o cabeçalho com a seção visível. Os navegadores limitam a animação a cerca de 60 fps, então mudanças muito rápidas são agrupadas — mantenha a transição estável, sem tremedeira.
const meta = document.querySelector('meta[name="theme-color"]')
function setThemeColor (hex) {
meta.setAttribute('content', hex)
}
// Casar o chrome com a seção ativa
new IntersectionObserver(entries => {
entries.forEach(e => {
if (e.isIntersecting) setThemeColor(e.target.dataset.themeColor)
})
}, { threshold: 0.6 }).observe(document.querySelector('.hero'))
Suporte de navegadores, efeitos colaterais e acessibilidade
- Chrome 39+ no Android — suporte completo na barra de endereço.
- Safari 15+ no iOS — colore status bar do topo e barra de ferramentas inferior em modo tab.
- Firefox 100+ — suporte parcial, principalmente no Android.
- Navegadores desktop — geralmente ignoram; o chrome continua com estilo do sistema.
- Embeds no Discord, Slack, Telegram — muitas plataformas usam theme-color (ou o equivalente no manifest) para tingir a faixa lateral do preview de link.
- Acessibilidade — garanta contraste suficiente entre a cor escolhida e os ícones da status bar renderizados em cima dela; cores muito claras forçam o SO ao modo "ícones escuros", que às vezes falha no iOS.
Perguntas frequentes
theme-color muda a barra do navegador no desktop? Não. Navegadores desktop ignoram o hint e mantêm o chrome com estilo do sistema. A tag só é útil em Android Chrome, iOS Safari 15+ e em alguns contextos de embed.
Devo manter a meta tag e o theme_color do manifest em sincronia? Sim. A meta tag rege a experiência no navegador; o manifest rege o PWA instalado. Valores dessincronizados produzem uma transição estranha durante o install.
Posso usar uma cor transparente? Hex com alpha (#ff000080) e rgba() são aceitos em navegadores modernos, mas o efeito é imprevisível porque o SO compõe a cor sobre o próprio fundo.
theme-color afeta a coerência com o favicon? Indiretamente. Uma boa identidade visual usa o mesmo tom para favicon, theme-color, theme_color do manifest e fundo da imagem Open Graph — essa consistência é o que o usuário associa à marca em uma olhada.
É possível animar theme-color suavemente? O navegador não anima a transição em si; ele "snapa" para a nova cor. Para simular animação, atualize a meta tag em pequenos incrementos com requestAnimationFrame, mas espere throttling.
Ferramentas Relacionadas
Gerador de Favicon
Gera favicon a partir de texto/emoji em todos os tamanhos comuns (16, 32, 48, 64, 192, 512). Download como PNG.
Gerador de color-scheme
Monta a meta color-scheme para indicar suporte a light/dark no navegador.
Gerador de IMEI (teste)
Gera IMEI fictício de 15 dígitos com algoritmo de Luhn correto. Apenas para testes — não use para fins ilegais.