Começar

Paletas de cores para dark mode que funcionam de verdade

Escolher cores escuras que você gosta leva dez minutos. Fazê-las sobreviver em uma interface real (estados desabilitados, bordas em duas superfícies, um destaque que ainda passe no contraste) é a parte que costuma falhar. Este conteúdo aborda essa etapa, com dados de paletas reais de produtos em produção.

Atualizado 2026-07-27

O dark mode deve ser preto puro?

Quase nunca, e vale a pena entender o porquê com números em vez de apenas como uma regra prática. Aqui estão os fundos escuros e superfícies de cards de cinco paletas de produtos distintos, em HSL:

FundoCardMatiz neutro
Industrial quente30 8% 10%24 7% 14%Laranja-acastanhado quente
Produto neutro0 0% 10%0 0% 15%Cinza puro
Azul de arquivo222 31% 11%222 34% 15%Azul profundo
Verde suave128 40% 8%137 26% 11%Verde floresta
Dashboard Earth36 10% 10%36 7% 14%Areia quente
Fundos escuros e superfícies de cards de cinco design kits, extraídos de seus arquivos de tokens reais. Os valores estão em HSL: matiz, saturação, luminosidade.

Três padrões, todos consistentes, nenhum deles acidental.

  • Nada está com 0% de luminosidade. O tom mais escuro é 8%. O preto puro é o único valor que não deixa margem abaixo dele. No momento em que você precisa de uma superfície *abaixo* do fundo, você não tem para onde ir.
  • Os cards são mais claros que o fundo, por 3 a 5 pontos. Em interfaces escuras, o que está elevado é mais claro. Isso inverte o instinto do light mode, onde um card costuma ser o elemento mais claro sobre uma página colorida.
  • Apenas um dos cinco é cinza puro. Os demais possuem matiz (30, 222, 128, 36), geralmente puxados para a cor de destaque. Um neutro escuro com matiz parece planejado; um sem matiz parece um padrão, porque ele é o padrão.

O único caso para o quase-preto

Telas OLED realmente consomem menos energia em #000000, e uma interface de mídia ou fotografia pode querer que a moldura desapareça. Essa é uma troca deliberada em favor de abrir mão de uma escala de elevação, e funciona quando o conteúdo fornece o contraste. Não é um padrão de uso geral, nem é o que a maioria das pessoas quer quando busca o preto.

O modo escuro não é uma inversão

A maneira mais rápida de criar um dark mode ruim é inverter a luminosidade de cada valor do light mode. Quatro coisas específicas quebram, aproximadamente nesta ordem:

  1. As sombras param de funcionar. Uma sombra é a escuridão projetada sobre uma superfície mais clara. Em uma superfície escura, não resta nada para escurecer, então cada indício de elevação desaparece silenciosamente e a interface fica plana.
  2. A cor de destaque perde o contraste. Uma cor de marca saturada em tom médio que funciona bem no branco costuma ser escura demais contra um fundo quase preto. Inverter os neutros não a afeta, então ela falha de forma sutil, em vez de óbvia.
  3. As bordas somem ou gritam. Uma borda no light mode é uma linha ligeiramente mais escura. Invertida, ela se torna uma linha ligeiramente mais clara, que ou desaparece contra o card ou brilha contra o fundo, dependendo de onde está posicionada.
  4. Estados desativados e silenciados colapsam. No light mode, estes são cinzas mais claros. Invertidos, tornam-se cinzas escuros sobre um fundo escuro, e o "silenciado" torna-se "invisível".
Uma paleta escura é um segundo design, não um filtro aplicado ao primeiro.

Elevação sem sombra

Como as sombras não estão disponíveis, interfaces escuras expressam profundidade através da luminosidade da superfície. É isso que a diferença entre fundo e card na tabela acima está fazendo: cada nível acima na pilha é um nível acima em luminosidade.

Você precisa de pelo menos três níveis, e vale a pena nomeá-los em vez de improvisar: o fundo da página, uma superfície elevada (cards, painéis) e uma superfície de sobreposição (popovers, dropdowns, diálogos) que fica acima de ambas. Espaçá-los entre 3 a 5 pontos de luminosidade mantém as fronteiras legíveis sem transformar a tela em listras. Abaixo de 3 pontos, os níveis deixam de ser distinguíveis em brilho normal; muito acima de 6, a superfície superior começa a parecer um painel de light mode que alguém inseriu ali.

Superfície vs superfície tonal

Alguns sistemas distinguem uma superfície elevada neutra de uma *tonal*, que mistura um pouco da matiz da marca na elevação. Ambas são legítimas. A versão tonal faz com que toda a interface pareça deliberadamente colorida, em vez de "cinza com um destaque"; a versão neutra reserva o significado da cor para as coisas que realmente precisam dela. Escolha uma e aplique em tudo: misturá-las é o que faz um tema escuro parecer dois temas diferentes.

Cores de destaque precisam mudar

Observe novamente as cores primárias daqueles mesmos cinco kits: 12 71% 46%, 46 85% 60%, 225 63% 80%, 114 47% 50%, 23 92% 60%. Todas são tons claros ou médios. Nenhuma é uma versão profunda e saturada da matiz, porque uma cor profunda e saturada em uma superfície quase preta é difícil de ler e cansativa de olhar.

A regra geral é que um destaque de light mode deve clarear e, geralmente, dessaturar para o dark mode. Clarear garante contraste; dessaturar impede que a cor "vibre" contra o neutro escuro, que é o efeito que torna alguns temas escuros fisicamente cansativos. E o destaque precisa de sua própria decisão de primeiro plano: uma cor brilhante o suficiente para ser lida no escuro costuma ser brilhante o suficiente para exigir texto *escuro* sobre ela, o inverso da combinação do light mode.

Verifique ambas as direções contra uma meta de contraste. O texto do corpo sobre o fundo é o óbvio; os dois que costumam ser esquecidos são o texto silenciado em um card e o primeiro plano do destaque sobre o próprio destaque.

Cinco amostras não são uma paleta

É aqui que a maioria das galerias de paletas te deixa. Uma linha de cinco hexes indica o clima, mas não responde a quase nenhuma das perguntas que uma tela real faz: qual a cor de uma borda em um card, como fica o texto silenciado em uma sobreposição, como fica um botão destrutivo quando está desativado, qual a cor do anel de foco em um input.

Token specimen · real values

Ambient Sage

Live render

Ambient Sage's actual tokens — the same values its exports use.

Color tokensSemantic roles with HEX / HSL / CMYK

Color tokens

Ambient Sage
dark · HEX · HSL · CMYK

Core

#1A1C17

background

H 84 · C7, 0, 18, 89

#E3E4DC

foreground

H 67.5 · C0, 0, 4, 11

#242620

card

H 80 · C5, 0, 16, 85

#292B24

muted

H 77.14 · C5, 0, 16, 83

#35372E

border

H 73.33 · C4, 0, 16, 78

Brand

#FEE951

primary

H 52.72 · C0, 8, 68, 0

#1A1C17

primary-fg

H 84 · C7, 0, 18, 89

#2F3129

secondary

H 75 · C4, 0, 16, 81

#F7E464

accent

H 52.24 · C0, 8, 60, 3

#FEE951

ring

H 52.72 · C0, 8, 68, 0

Semantic

#CC3333

destructive

H 0 · C0, 75, 75, 20

#FFFFFF

destructive-fg

H 0 · C0, 0, 0, 0

#66BB6A

success

H 122.82 · C45, 0, 43, 27

#FFA726

warning

H 35.67 · C0, 35, 85, 0

#FFFFFF

muted-fg

H 0 · C0, 0, 0, 0

Charts

#FEE951

chart-1

H 52.72 · C0, 8, 68, 0

#64B5F6

chart-2

H 206.71 · C59, 26, 0, 4

#81C784

chart-3

H 122.57 · C35, 0, 34, 22

#F48FB1

chart-4

H 339.8 · C0, 41, 27, 4

#FFCC80

chart-5

H 35.91 · C0, 20, 50, 0

Um conjunto escuro completo: funções nomeadas em vez de amostras, cada uma com seu hex. Cada uma delas é uma pergunta que um componente faria à pessoa, ou ao agente, que o está construindo.

A lista de funções é a mesma em ambos os modos, que é justamente o ponto: background, foreground, card, card-foreground, popover, popover-foreground, muted, muted-foreground, primary, primary-foreground, secondary, accent, destructive, border, input, ring, além de séries de gráficos. Defina-os uma vez por modo e cada componente se resolve sem que ninguém precise escolher. Ignore isso e cada nova tela escolherá cores diferentes. A lista completa e a finalidade de cada função estão em explicação de design tokens de cores semânticas.

Ambient Sage

Live render

Rendered from the kit's actual tokens, fonts, and treatments

Ambient SageOverview
Search anything⌘K
AS

Analytics

Revenue overview

See revenue and retention trends alongside account health.

Jan 1 to Jan 30, 2026
Overview
Analytics
Reports
Notifications

Active users

15.1k

2,491 new

+5%

MRR

$49.1k

Net of churn

+3%

Retention

89%

28-day window

+2%

NPS

69

1,204 replies

+3

Revenue

Last 12 months

$49.1k +18.2%

12m30d7d
JanFebMarAprMayJunJulAugSepOctNovDec

Acquisition

Goal completion

On track
78%of goal
Organic48%
Direct31%
Referral21%

Recent transactions

Latest activity across your workspace

View all
CustomerStatusDateAmount
AR

Alex Rivera

Founder & CEO

Paid2 min ago$1,999.00
MO

Mira Okonkwo

Head of Product

Pending1 hour ago$39.00
JF

Jonas Feld

Design Lead

Processing3 hours ago$299.00

Typography

Plus Jakarta Sans

Color system

28 semantic roles, light + dark

Agent outputs

DESIGN.md, CSS, Tailwind, shadcn

As mesmas funções renderizadas como uma interface. Uma paleta só é testável quando está em uma tela com hierarquia real.

Quatro paletas escuras completas e o que as diferencia

Tudo acima é uma regra. Estes são quatro conjuntos escuros que a seguem, escolhidos porque resolvem o mesmo problema de formas visivelmente diferentes. Leia o par background e card em cada um: essa diferença é o modelo de elevação, e é a decisão que mais determina se uma UI escura parece planejada ou apenas invertida.

Preview unavailable here. Browse complete kits in the kit gallery.

Token specimen · real values

Files Archival

Live render

Files Archival's actual tokens — the same values its exports use.

Color tokensSemantic roles with HEX / HSL / CMYK

Color tokens

Files Archival
dark · HEX · HSL · CMYK

Core

#191919

background

H 0 · C0, 0, 0, 90

#FAF6F3

foreground

H 25.71 · C0, 2, 3, 2

#242424

card

H 0 · C0, 0, 0, 86

#2A2A2A

muted

H 0 · C0, 0, 0, 84

#333333

border

H 0 · C0, 0, 0, 80

Brand

#4A6FE0

primary

H 225.2 · C67, 50, 0, 12

#FFFFFF

primary-fg

H 0 · C0, 0, 0, 0

#3D2B2E

secondary

H 350 · C0, 30, 25, 76

#F5DB7B

accent

H 47.21 · C0, 11, 50, 4

#4A6FE0

ring

H 225.2 · C67, 50, 0, 12

Semantic

#C9362A

destructive

H 4.53 · C0, 73, 79, 21

#FFFFFF

destructive-fg

H 0 · C0, 0, 0, 0

#2D7A4F

success

H 146.49 · C63, 0, 35, 52

#D4921A

warning

H 38.71 · C0, 31, 88, 17

#9A8E88

muted-fg

H 20 · C0, 8, 12, 40

Charts

#4A6FE0

chart-1

H 225.2 · C67, 50, 0, 12

#E29AA5

chart-2

H 350.83 · C0, 32, 27, 11

#F5DB7B

chart-3

H 47.21 · C0, 11, 50, 4

#E05040

chart-4

H 6 · C0, 64, 71, 12

#D2BDB6

chart-5

H 15 · C0, 10, 13, 18

A abordagem arquivística: um fundo mais quente e elevado que nunca chega ao preto, com a separação feita por bordas em vez de um grande salto de superfície.
Preview unavailable here. Browse complete kits in the kit gallery.

Token specimen · real values

The Social Club

Live render

The Social Club's actual tokens — the same values its exports use.

Color tokensSemantic roles with HEX / HSL / CMYK

Color tokens

The Social Club
dark · HEX · HSL · CMYK

Core

#2E2C1F

background

H 52 · C0, 4, 33, 82

#F4F0E4

foreground

H 45 · C0, 2, 7, 4

#3C3A29

card

H 53.68 · C0, 3, 32, 76

#3C3A29

muted

H 53.68 · C0, 3, 32, 76

#4E503A

border

H 65.45 · C2, 0, 28, 69

Brand

#D6D84A

primary

H 60.85 · C1, 0, 66, 15

#1A1800

primary-fg

H 55.38 · C0, 8, 100, 90

#736E4E

secondary

H 51.89 · C0, 4, 32, 55

#D6D84A

accent

H 60.85 · C1, 0, 66, 15

#D6D84A

ring

H 60.85 · C1, 0, 66, 15

Semantic

#9C3C2C

destructive

H 8.57 · C0, 62, 72, 39

#FFFFFF

destructive-fg

H 0 · C0, 0, 0, 0

#2D702C

success

H 119.12 · C60, 0, 61, 56

#C47A15

warning

H 34.63 · C0, 38, 89, 23

#C4C1AE

muted-fg

H 51.82 · C0, 2, 11, 23

Charts

#D6D84A

chart-1

H 60.85 · C1, 0, 66, 15

#9C3C2C

chart-2

H 8.57 · C0, 62, 72, 39

#426063

chart-3

H 185.45 · C33, 3, 0, 61

#2D702C

chart-4

H 119.12 · C60, 0, 61, 56

#945C37

chart-5

H 23.87 · C0, 38, 63, 42

Um conjunto oliva e amarelo, que é o caso mais difícil aqui. Um destaque de baixa luminosidade exige que seu primeiro plano seja verificado em ambas as direções, não assumindo que seja branco.

Como ler quatro paletas rapidamente

Ignore o destaque primeiro; é a parte que você lembrará e a que menos importa estruturalmente. Compare background com card para ver o modelo de elevação, depois muted-foreground com card para ver se o texto secundário sobrevive em uma superfície elevada. Essas duas comparações preveem a maior parte do comportamento da paleta em uma tela real.

Por que isso se tornou urgente

As interfaces são cada vez mais construídas por agentes de código trabalhando a partir de um briefing escrito, e o dark mode é a única coisa que mais falta nesses briefings. Analisamos 299 arquivos DESIGN.md públicos, o arquivo que um agente de código lê antes de escrever a UI, e medimos o que eles cobrem.

Proporção de arquivos
Sem dark mode69%
Sem papéis de cor semânticos: apenas hex puro86%
Sem proibições, apenas preferências76%
Omissões em 72 arquivos DESIGN.md de visual design públicos. A detecção é baseada em cabeçalhos e deliberadamente generosa, portanto, estes são valores mínimos.

A consequência é previsível. Ao solicitar uma variante escura sem nada escrito, um agente inverte os cinzas. O movimento exato que quebra todos os quatro pontos listados anteriormente. Ele produz algo plausível na primeira tela e inconsistente na quinta e, como cada tela individual parece boa, ninguém percebe até que todo o app esteja pronto.

Um teste de dez minutos

  1. 1

    Empilhe três superfícies

    Coloque um overlay sobre um card sobre o background, com uma borda de um pixel em cada um. Se qualquer limite desaparecer, seus passos de luminosidade estão muito próximos ou seu papel de borda está acumulando funções.

  2. 2

    Renderize texto muted em cada superfície

    Não apenas no background. O muted-on-card é onde uma paleta invertida geralmente desmorona, e é o estado de texto mais comum em uma interface densa.

  3. 3

    Crie uma confirmação destrutiva

    Ela exercita o destrutivo, seu foreground, seu hover e sua borda juntos: o grupo de papéis que as pessoas definem por último e usam primeiro.

  4. 4

    Foque algo

    Dê tab em um input. Um anel de foco é uma cor que ninguém escolhe deliberadamente, então ou é o seu accent fazendo um trabalho para o qual não é bom, ou é um padrão do navegador que ninguém escolheu.

  5. 5

    Olhe para uma tabela densa

    Três cinzas um ao lado do outro é a coisa mais difícil que uma paleta dark faz. Uma paleta que sobrevive a uma tabela de configurações sobrevive a uma página de marketing trivialmente; o inverso não é verdadeiro.

Erros comuns

  • Começar com preto puro. Isso remove o nível abaixo do seu background antes mesmo de você descobrir que precisa de um.
  • Reutilizar o accent do light mode sem alterações. Ele geralmente precisa clarear, muitas vezes precisa dessaturar e pode precisar de texto escuro sobre ele.
  • Manter sombras e adicionar passos de luminosidade. Escolha uma linguagem de elevação. Fazer ambos faz com que superfícies elevadas pareçam borradas.
  • Definir apenas o que a primeira tela precisava. Os papéis que você pula são os que a próxima tela inventa, e ela os inventará de forma diferente.
  • Testar em uma página de marketing. Seções hero favorecem qualquer paleta. Teste na tela mais densa que você tiver.

Navegue por paletas dark completas, não por linhas de swatches

Cada kit aqui define todos os seus papéis de cor tanto em light quanto em dark, além de tipo, raios e movimento: instalável como um item de registro do shadcn. Kits gratuitos não exigem conta.

FAQ

Devo usar preto puro no dark mode?

Geralmente não. Em cinco paletas implementadas, o fundo mais escuro possui 8% de luminosidade HSL e nenhuma possui 0%. O preto puro não deixa superfície abaixo do fundo, então você perde a capacidade de mostrar elementos recuados. A exceção é um contexto de economia de energia em telas OLED ou de visualização de mídia, onde a moldura deve desaparecer.

O dark mode é apenas a inversão da paleta clara?

Não. Quatro coisas deixam de funcionar: as sombras param de surtir efeito porque não há nada mais escuro para escurecer, a cor de destaque geralmente falha no contraste, as bordas ou desaparecem ou brilham dependendo da superfície onde estão, e os estados desativados ou sutis tornam-se invisíveis. Uma paleta escura é um segundo design, não um filtro.

Como mostro elevação no dark mode sem usar sombras?

Através da luminosidade da superfície. Defina pelo menos três níveis (fundo, superfície elevada, overlay) espaçados por aproximadamente 3 a 5 pontos de luminosidade HSL. Abaixo de 3 pontos, os níveis deixam de ser distinguíveis; muito acima de 6, a superfície superior começa a parecer um painel de light mode.

Qual a diferença entre uma superfície neutra e uma superfície tonal?

Uma superfície neutra aumenta apenas a luminosidade; uma superfície tonal também mistura parte da matiz da marca conforme a luminosidade sobe. O tonal faz com que toda a interface pareça deliberadamente colorida; o neutro mantém o significado das cores disponível para elementos que realmente precisam delas. Ambos funcionam, mas misturá-los em um único tema não funciona.

As cores da minha marca funcionam no dark mode?

Geralmente não sem alterações. Um tom médio saturado que funciona bem no branco tende a ser escuro e vibrante demais contra uma superfície quase preta. Aumente a luminosidade para gerar contraste, dessature levemente para evitar a vibração visual e verifique se agora o texto sobre ela deve ser escuro em vez de claro.

De quantas cores uma paleta escura precisa?

Cerca de 28 funções nomeadas, e não apenas cinco amostras: background e foreground, card, popover, muted, primary, secondary, accent, destructive e seus respectivos foregrounds, além de border, input, ring e séries de gráficos. Qualquer coisa que você deixe indefinida será inventada a cada tela, de forma diferente a cada vez.