Catppuccin Hex Chart: Palette Codes for All 4 Flavors
HeJialeiShare

[Shop teh Catppuccin Keycap Set]
If you need a Catppuccin hex value, you usually need it now: paste into CSS, a Figma fill, a terminal config, or a keycap proof. This page is the Catppuccin palette as four columns of hex. Same 26 names in Latte, Frappé, Macchiato, and Mocha. Official codes from the catppuccin/palette repo.
The names do not change between flavors. Mauve is always Mauve. Base is always the main background. Only the roast changes. That is why a port can swap flavors without remapping every highlight.
The four flavors, in hex
Latte is the light theme. Frappé, Macchiato, and Mocha are three dark roasts, lightest to darkest. Mocha is the one in most screenshots. Frappé is the muted middle. Macchiato sits between them. If you already compared this family to Tokyo Night, the dark default you were looking at was Mocha base #1e1e2e.
| Role | Latte | Frappé | Macchiato | Mocha |
|---|---|---|---|---|
| Base (editor background) |
#eff1f5
|
#303446
|
#24273a
|
#1e1e2e
|
| Text (main foreground) |
#4c4f69
|
#c6d0f5
|
#cad3f5
|
#cdd6f4
|
| Mauve (keywords / purple) |
#8839ef
|
#ca9ee6
|
#c6a0f6
|
#cba6f7
|
| Blue (functions / links) |
#1e66f5
|
#8caaee
|
#8aadf4
|
#89b4fa
|
| Peach (numbers / warnings) |
#fe640b
|
#ef9f76
|
#f5a97f
|
#fab387
|
| Green (strings / success) |
#40a02b
|
#a6d189
|
#a6da95
|
#a6e3a1
|
Read that table left to right on one row and you see the actual product. Latte accents are saturated and darker so they sit on cream. Dark-flavor accents are pastel so they sit on navy-purple. Mixing Mocha Mauve into a Latte UI looks washed. Mixing Latte Peach into Mocha looks like a warning light.
Catppuccin palette: 14 accents
These are the colors people mean when they say "the pastels." Use them for syntax, links, status, and anything that should read as a token. Do not use them for large backgrounds unless you are making a poster.
| Name | Latte | Frappé | Macchiato | Mocha |
|---|---|---|---|---|
| Rosewater |
#dc8a78
|
#f2d5cf
|
#f4dbd6
|
#f5e0dc
|
| Flamingo |
#dd7878
|
#eebebe
|
#f0c6c6
|
#f2cdcd
|
| Pink |
#ea76cb
|
#f4b8e4
|
#f5bde6
|
#f5c2e7
|
| Mauve |
#8839ef
|
#ca9ee6
|
#c6a0f6
|
#cba6f7
|
| Red |
#d20f39
|
#e78284
|
#ed8796
|
#f38ba8
|
| Maroon |
#e64553
|
#ea999c
|
#ee99a0
|
#eba0ac
|
| Peach |
#fe640b
|
#ef9f76
|
#f5a97f
|
#fab387
|
| Yellow |
#df8e1d
|
#e5c890
|
#eed49f
|
#f9e2af
|
| Green |
#40a02b
|
#a6d189
|
#a6da95
|
#a6e3a1
|
| Teal |
#179299
|
#81c8be
|
#8bd5ca
|
#94e2d5
|
| Sky |
#04a5e5
|
#99d1db
|
#91d7e3
|
#89dceb
|
| Sapphire |
#209fb5
|
#85c1dc
|
#7dc4e4
|
#74c7ec
|
| Blue |
#1e66f5
|
#8caaee
|
#8aadf4
|
#89b4fa
|
| Lavender |
#7287fd
|
#babbf1
|
#b7bdf8
|
#b4befe
|
Search traffic clusters on a handful of these. Mocha Mauve #cba6f7, Mocha Peach #fab387, Mocha Blue #89b4fa, Mocha Green #a6e3a1. Latte's versions of the same names are a different paint: Mauve #8839ef, Peach #fe640b, Blue #1e66f5. If a mockup "looks official except the purple is too loud," you probably grabbed Latte Mauve and dropped it on a Mocha base.
Surfaces, text, and chrome
The other 12 names are the UI stack. Base is the page. Mantle and crust sit behind it (sidebars, status bars, the layer under the editor). Surfaces and overlays are steps up for panels, rules, and muted chrome. Text / subtext / overlay handle foreground hierarchy. Overlay 0 is the usual comment color in dark flavors.
| Name | Latte | Frappé | Macchiato | Mocha |
|---|---|---|---|---|
| Text |
#4c4f69
|
#c6d0f5
|
#cad3f5
|
#cdd6f4
|
| Subtext 1 |
#5c5f77
|
#b5bfe2
|
#b8c0e0
|
#bac2de
|
| Subtext 0 |
#6c6f85
|
#a5adce
|
#a5adcb
|
#a6adc8
|
| Overlay 2 |
#7c7f93
|
#949cbb
|
#939ab7
|
#9399b2
|
| Overlay 1 |
#8c8fa1
|
#838ba7
|
#8087a2
|
#7f849c
|
| Overlay 0 |
#9ca0b0
|
#737994
|
#6e738d
|
#6c7086
|
| Surface 2 |
#acb0be
|
#626880
|
#5b6078
|
#585b70
|
| Surface 1 |
#bcc0cc
|
#51576d
|
#494d64
|
#45475a
|
| Surface 0 |
#ccd0da
|
#414559
|
#363a4f
|
#313244
|
| Base |
#eff1f5
|
#303446
|
#24273a
|
#1e1e2e
|
| Mantle |
#e6e9ef
|
#292c3c
|
#1e2030
|
#181825
|
| Crust |
#dce0e8
|
#232634
|
#181926
|
#11111b
|
A practical mapping for app chrome in Mocha: window #1e1e2e (base), sidebar #181825 (mantle), status line or tab bar #11111b (crust), raised panel #313244 (surface 0). Copy that pattern to Macchiato or Frappé by taking the same names, not by lightening Mocha in a color picker. The flavors were mixed as sets.
Catppuccin keycap colors
Custom keycap makers get asked for Catppuccin keycap colors more often than the official docs cover. The palette is not a GMK set. It is a screen palette. ABS/PBT and dye-sub legends will not match a hex on a calibrated monitor, and that is fine if you treat the names as roles instead of a PANTONE contract.
For a dark board that should read as Mocha on a desk:
- Alphas: body Base
#1e1e2eor Mantle#181825, legends Text#cdd6f4. Crust#11111bis a better bottom row / case color than a large alpha field. It swallows legends in photos. - Modifiers: pick two accents and stop. Mauve
#cba6f7plus Peach#fab387is the screenshot combo. Blue#89b4faplus Green#a6e3a1looks more "terminal." Pink#f5c2e7as a third accent on Escape only. - Numbers / function row: Yellow
#f9e2afand Sapphire#74c7ecif you want the row to separate without shouting.
For a light board that should read as Latte:
- Alphas: Base
#eff1f5, legends Text#4c4f69. Crust#dce0e8as a slightly cooler novelty or case. - Modifiers: Latte Mauve
#8839efand Peach#fe640bhold up on cream. Dark-flavor pastels on a Latte body look faded in person, the same way they look faded in CSS.
Skip Overlay and Surface for legends. They are made to recede on a display. On a keycap they read as dirty gray. If a vendor asks for "one hex for the whole kit," send Mocha Base + Text + Mauve. That is enough to look like Catppuccin without turning the board into a bag of jelly beans.
| Part | Mocha (dark kit) | Latte (light kit) |
|---|---|---|
| Alpha body |
#1e1e2e
|
#eff1f5
|
| Legend |
#cdd6f4
|
#4c4f69
|
| Mod accent A |
#cba6f7
|
#8839ef
|
| Mod accent B |
#fab387
|
#fe640b
|
| Case / bottom |
#11111b
|
#dce0e8
|
CSS variables you can paste
Flavor files in the official palette already export these names. A minimal Mocha sheet looks like this. Swap the hex block for another flavor from the tables above.
:root {
--ctp-base: #1e1e2e;
--ctp-mantle: #181825;
--ctp-crust: #11111b;
--ctp-text: #cdd6f4;
--ctp-subtext0: #a6adc8;
--ctp-overlay0: #6c7086;
--ctp-surface0: #313244;
--ctp-mauve: #cba6f7;
--ctp-blue: #89b4fa;
--ctp-peach: #fab387;
--ctp-green: #a6e3a1;
--ctp-red: #f38ba8;
--ctp-yellow: #f9e2af;
--ctp-teal: #94e2d5;
}
Keep the names. If you rename Mauve to "purple-1," the next port you install will not match your tokens, and you will be back on this page looking up hex again.
Which flavor's hex to copy
Copy Mocha if the rest of the machine is already on the dark default, or if you are matching a screenshot. Copy Macchiato if Mocha feels a bit too crushed on a dim laptop panel. Copy Frappé if you want the same names with less punch. Copy Latte only when the surface is actually light. Do not "brighten Mocha in Figma" and call it Latte. The accent hex values are not a brightness slider.
If you are choosing a theme rather than a fill color, the comparison that usually settles it is still Tokyo Night vs Catppuccin. This page is the color card underneath that choice.
Hex values match catppuccin.com/palette and the palette package. If a port disagrees with a cell here, the port is stale.