Commencer

Des palettes de couleurs pour le mode sombre qui tiennent la route

Choisir des couleurs sombres qui vous plaisent prend dix minutes. Faire en sorte qu'elles survivent à une interface réelle (états désactivés, bordures sur deux surfaces, accentuation respectant le contraste) est l'étape où tout bascule. Voici cette étape, avec des chiffres issus de palettes réellement déployées.

Mis à jour 2026-07-27

Le mode sombre doit-il être en noir pur ?

Presque jamais, et il est utile d'en comprendre les raisons par les chiffres plutôt que par une règle empirique. Voici les arrière-plans sombres et les surfaces de cartes de cinq palettes distinctes en production, en HSL :

Arrière-planCarteTeinte neutre
Industriel chaud30 8% 10%24 7% 14%Orange-brun chaud
Produit neutre0 0% 10%0 0% 15%Gris vrai
Bleu archive222 31% 11%222 34% 15%Bleu profond
Vert calme128 40% 8%137 26% 11%Vert forêt
Tableau de bord Earth36 10% 10%36 7% 14%Sable chaud
Arrière-plans sombres et surfaces de cartes de cinq kits de design, extraits de leurs fichiers de tokens actifs. Valeurs en HSL : teinte, saturation, luminosité.

Trois modèles, tous cohérents, aucun n'est le fruit du hasard.

  • Rien n'est à 0 % de luminosité. La valeur la plus sombre est à 8 %. Le noir pur est la seule valeur qui ne laisse aucune marge de manœuvre en dessous. Dès que vous avez besoin d'une surface *sous* l'arrière-plan, vous êtes bloqué.
  • Les cartes sont plus claires que l'arrière-plan, de 3 à 5 points. Dans les interfaces sombres, l'élévation se traduit par une luminosité accrue. Cela inverse l'instinct du mode clair, où une carte est souvent l'élément le plus clair posé sur une page teintée.
  • Un seul des cinq est un vrai gris. Les autres portent une teinte (30, 222, 128, 36), généralement orientée vers la couleur d'accentuation. Un neutre sombre teinté paraît travaillé ; un neutre sans teinte paraît être un choix par défaut, car c'est le défaut.

Le seul cas justifiant un presque-noir

Les écrans OLED consomment réellement moins d'énergie avec du #000000, et une interface média ou photographique peut vouloir que le cadre disparaisse. C'est un compromis délibéré au détriment d'une plage d'élévation, et cela fonctionne quand le contenu fournit lui-même le contraste. Ce n'est pas un choix par défaut polyvalent, et ce n'est pas ce que la plupart des gens recherchent en choisissant le noir.

Le mode sombre n'est pas une inversion

Le moyen le plus rapide d'obtenir un mauvais mode sombre est d'inverser la luminosité de chaque valeur du mode clair. Quatre éléments spécifiques s'en trouvent brisés, approximativement dans cet ordre :

  1. Les ombres ne fonctionnent plus. Une ombre est une zone d'obscurité projetée sur une surface plus claire. Sur une surface sombre, il n'y a plus rien à assombrir ; tous vos indices d'élévation disparaissent silencieusement et l'interface s'aplatit.
  2. L'accent manque de contraste. Une couleur de marque saturée et moyenne, parfaitement lisible sur blanc, est souvent trop sombre sur un fond presque noir. L'inversion des neutres ne l'affecte pas, elle échoue donc discrètement plutôt qu'évidemment.
  3. Les bordures disparaissent ou deviennent criardes. Une bordure en mode clair est une ligne légèrement plus sombre. Inversée, elle devient une ligne légèrement plus claire, qui soit disparaît contre la carte, soit brille contre l'arrière-plan, selon la surface sur laquelle elle se trouve.
  4. Les états désactivés et atténués s'effondrent. En mode clair, ce sont des gris plus clairs. Inversés, ils deviennent des gris foncés sur un fond sombre, et l'état « atténué » devient « invisible ».
Une palette sombre est un second design, pas un filtre appliqué au premier.

L'élévation sans ombre

Puisque les ombres sont inutilisables, les interfaces sombres expriment la profondeur via la luminosité des surfaces. C'est précisément le rôle de l'écart entre l'arrière-plan et la carte dans le tableau ci-dessus : chaque niveau supérieur dans la pile est un niveau de luminosité supérieur.

Vous avez besoin d'au moins trois niveaux, et il vaut mieux les nommer plutôt que d'improviser : l'arrière-plan de la page, une surface surélevée (cartes, panneaux) et une surface de superposition (popovers, menus déroulants, dialogues) qui surplombe les deux autres. Un espacement de 3 à 5 points de luminosité permet de garder des limites lisibles sans transformer l'écran en zébrure. En dessous de 3 points, les niveaux ne sont plus distinguables à une luminosité normale ; bien au-dessus de 6, la surface supérieure commence à ressembler à un panneau de mode clair parachuté là.

Surface vs surface tonale

Certains systèmes distinguent une surface surélevée neutre d'une surface *tonale* qui mélange un peu de la teinte de la marque dans l'élévation. Les deux approches sont légitimes. La version tonale donne l'impression que toute l'interface est délibérément colorée plutôt que d'être un « gris avec un accent » ; la version neutre réserve la signification des couleurs aux éléments qui en ont besoin. Choisissez-en une et appliquez-la partout : les mélanger donne l'impression que le thème sombre est composé de deux thèmes différents.

Les accents doivent évoluer

Regardez à nouveau les couleurs primaires de ces mêmes cinq kits : 12 71% 46%, 46 85% 60%, 225 63% 80%, 114 47% 50%, 23 92% 60%. Toutes sont des teintes claires ou moyennes. Aucune n'est une version sombre et saturée de la teinte, car une couleur sombre et saturée sur une surface presque noire est à la fois difficile à lire et fatigante pour les yeux.

La règle générale est qu'un accent de mode clair doit être éclairci et généralement désaturé pour le mode sombre. L'éclaircissement apporte le contraste ; la désaturation empêche la couleur de « vibrer » contre le neutre sombre, un effet qui rend certains thèmes sombres physiquement épuisants. De plus, l'accent nécessite sa propre décision de premier plan : une couleur assez claire pour être lisible sur fond sombre est souvent assez claire pour nécessiter un texte *sombre* par-dessus, ce qui est l'inverse du couple utilisé en mode clair.

Vérifiez les deux directions par rapport à un objectif de contraste. Le texte du corps sur l'arrière-plan est évident ; les deux points souvent oubliés sont le texte atténué sur une carte, et le premier plan de l'accent sur l'accent lui-même.

Cinq échantillons ne constituent pas une palette

C'est là que la plupart des galeries de palettes vous abandonnent. Une rangée de cinq codes hexadécimaux vous donne l'ambiance, mais ne répond à presque aucune des questions qu'un écran réel pose : quelle est la couleur d'une bordure sur une carte, à quoi ressemble le texte atténué sur une superposition, quel aspect a un bouton destructif lorsqu'il est désactivé, quelle est la couleur de l'anneau d'un champ de saisie focalisé.

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

Un ensemble sombre complet : des rôles nommés plutôt que des échantillons, chacun avec son hexadécimal. Chacun de ces rôles correspond à une question qu'un composant poserait autrement à la personne, ou à l'agent, qui le construit.

La liste des rôles est la même dans les deux modes, et c'est là tout l'intérêt : background, foreground, card, card-foreground, popover, popover-foreground, muted, muted-foreground, primary, primary-foreground, secondary, accent, destructive, border, input, ring, plus les séries de graphiques. Définissez-les une fois par mode et chaque composant se résout sans intervention manuelle. Si vous les ignorez, chaque nouvel écran devra faire un nouveau choix, et différemment. La liste complète et l'utilité de chaque rôle se trouvent dans explications sur les design tokens de couleurs sémantiques.

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

Ces mêmes rôles rendus sous forme d'interface. Une palette n'est testable qu'une fois appliquée sur un écran avec une hiérarchie réelle.

Quatre palettes sombres complètes et ce qui les différencie

Tout ce qui précède est une règle. Voici quatre ensembles sombres qui s'y conforment, choisis parce qu'ils résolvent le même problème de manières visiblement différentes. Observez le couple background et card dans chacun d'eux : cet écart constitue le modèle d'élévation, et c'est la décision qui détermine le plus si une UI sombre paraît conçue ou simplement inversée.

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

L'approche archivistique : un fond plus chaud et plus clair qui n'atteint jamais le noir, où la séparation est assurée par des bordures plutôt que par un saut de surface important.
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

Un ensemble olive et jaune, qui est le cas le plus difficile ici. Un accent à faible luminosité nécessite que son premier plan soit vérifié dans les deux directions, et non supposé être blanc.

Comment analyser rapidement quatre palettes

Ignorez d'abord l'accent ; c'est la partie dont vous vous souviendrez et celle qui importe le moins structurellement. Comparez background et card pour voir le modèle d'élévation, puis muted-foreground et card pour voir si le texte secondaire survit sur une surface surélevée. Ces deux comparaisons prédisent l'essentiel du comportement de la palette sur un écran réel.

Pourquoi c'est devenu urgent

Les interfaces sont de plus en plus conçues par des agents de code s'appuyant sur un brief écrit, et le mode sombre est l'élément le plus fréquemment oublié dans ces briefs. Nous avons analysé 299 fichiers DESIGN.md publics — le fichier qu'un agent de code lit avant de générer l'UI — pour mesurer leur couverture.

Part des fichiers
Aucun mode sombre69%
Aucun rôle de couleur sémantique : hexadécimal brut uniquement86%
Aucune interdiction, seulement des préférences76%
Omissions constatées sur 72 fichiers DESIGN.md de design visuel publics. La détection s'appuie sur les titres et a été volontairement généreuse ; ces chiffres constituent donc un seuil minimal.

La conséquence est prévisible. Si on lui demande une variante sombre sans instructions écrites, l'agent inverse les gris. C'est précisément l'erreur qui brise les quatre points listés précédemment. Le résultat semble plausible sur le premier écran, mais devient incohérent dès le cinquième. Comme chaque écran pris isolément semble correct, personne ne s'en aperçoit avant que l'application entière ne soit construite.

Une vérification en dix minutes

  1. 1

    Superposez trois surfaces

    Placez un overlay sur une carte, elle-même sur l'arrière-plan, avec une bordure d'un pixel sur chaque élément. Si une limite disparaît, vos paliers de luminosité sont trop proches ou votre rôle de bordure remplit une double fonction.

  2. 2

    Affichez du texte atténué sur chaque surface

    Pas seulement sur l'arrière-plan. C'est sur le texte atténué d'une carte que les palettes inversées échouent généralement, et c'est l'état de texte le plus courant dans une interface dense.

  3. 3

    Créez une confirmation d'action destructive

    Cela permet de tester simultanément la couleur destructive, son premier plan, son état de survol et sa bordure : le groupe de rôles que l'on définit en dernier, mais que l'on utilise en premier.

  4. 4

    Testez le focus

    Utilisez la touche Tab pour atteindre un champ de saisie. L'anneau de focus est une couleur que personne ne choisit délibérément ; c'est donc soit votre couleur d'accentuation qui remplit un rôle pour lequel elle est inadaptée, soit un défaut du navigateur que personne n'a souhaité.

  5. 5

    Examinez un tableau dense

    L'exercice le plus difficile pour une palette sombre est d'aligner trois gris côte à côte. Une palette qui survit à un tableau de paramètres survivra sans effort à une page marketing ; l'inverse n'est pas vrai.

Erreurs courantes

  • Partir d'un noir pur. Cela supprime le niveau inférieur à votre arrière-plan avant même que vous ne réalisiez que vous en avez besoin.
  • Réutiliser la couleur d'accentuation du mode clair sans modification. Elle doit généralement être éclaircie, souvent désaturée, et peut nécessiter un texte sombre en premier plan.
  • Conserver les ombres tout en ajoutant des paliers de luminosité. Choisissez un seul langage d'élévation. Combiner les deux donne aux surfaces surélevées un aspect flou ou taché.
  • Ne définir que les besoins du premier écran. Les rôles que vous oubliez sont ceux que l'écran suivant inventera, et il les inventera différemment.
  • Tester sur une page marketing. Les sections Hero flattent toutes les palettes. Testez sur l'écran le plus dense de votre interface.

Explorez des palettes sombres complètes, pas seulement des rangées d'échantillons

Chaque kit ici définit tous ses rôles de couleur en modes clair et sombre, ainsi que la typographie, les rayons de courbure et les animations : installables via un seul élément de registre shadcn. Les kits gratuits ne nécessitent aucun compte.

FAQ

Dois-je utiliser du noir pur pour le mode sombre ?

En général, non. Sur cinq palettes en production, le fond le plus sombre a une luminosité HSL de 8 % et aucune n'est à 0 %. Le noir pur ne laisse aucune surface en dessous du fond, vous perdez donc la possibilité d'afficher des éléments en retrait. L'exception concerne les contextes optimisés pour l'OLED ou la consultation de médias, où le cadre est censé disparaître.

Le mode sombre consiste-t-il simplement à inverser la palette claire ?

Non. Quatre éléments posent problème : les ombres ne fonctionnent plus car il n'y a plus rien à assombrir, la couleur d'accentuation manque généralement de contraste, les bordures disparaissent ou deviennent luminescentes selon la surface sur laquelle elles se trouvent, et les états désactivés ou atténués deviennent invisibles. Une palette sombre est une seconde conception, pas un filtre.

Comment afficher l'élévation en mode sombre sans utiliser d'ombres ?

Grâce à la luminosité des surfaces. Définissez au moins trois niveaux (fond, surface surélevée, superposition) espacés d'environ 3 à 5 points de luminosité HSL. En dessous de 3 points, les niveaux ne sont plus distinguables ; au-delà de 6, la surface supérieure commence à ressembler à un panneau en mode clair.

Quelle est la différence entre une surface neutre et une surface tonale ?

Une surface neutre n'augmente que la luminosité ; une surface tonale y intègre également une partie de la teinte de la marque à mesure qu'elle s'élève. Le tonale donne l'impression que l'interface est délibérément colorée, tandis que le neutre réserve la signification des couleurs aux éléments qui en ont besoin. Les deux approches fonctionnent, mais les mélanger au sein d'un même thème est déconseillé.

Mes couleurs de marque fonctionnent-elles en mode sombre ?

Généralement pas en l'état. Une teinte saturée et moyenne qui rend bien sur blanc a tendance à être trop sombre et trop vibrante sur une surface presque noire. Éclaircissez-la pour le contraste, désaturez-la légèrement pour éviter l'effet de vibration, et vérifiez si elle nécessite désormais du texte sombre plutôt que clair par-dessus.

De combien de couleurs une palette sombre a-t-elle besoin ?

D'environ 28 rôles nommés, et non de cinq échantillons : fond et premier plan, carte, popover, atténué, primaire, secondaire, accent, destructif et leurs premiers plans respectifs, plus la bordure, l'entrée, l'anneau et les séries de graphiques. Tout ce que vous laissez indéfini sera improvisé à chaque écran, et différemment à chaque fois.