Catppuccin Mocha vs Macchiato vs Frappé vs Latte
HeJialeiShare

Catppuccin Mocha vs Macchiato vs Frappé vs Latte is the choice you make after you have already picked the theme. The ports are the same. The color names are the same. You are deciding how dark the room behind the code should be, and whether the accents stay pastel or turn into real ink.
Official copy treats the four as roast levels of one drink. That is accurate and not that useful at 11 p.m. when a laptop panel is washing Mocha comments into the background. This page is the decision version: which flavor to live in, not a reprint of the 26-color card. Hex for every name lives in the Catppuccin hex chart.
Four flavors, one set of jobs
Each flavor is the same 26 roles. Mauve is still keywords-ish purple. Peach is still the warm accent. Base is still the editor background. What changes is luminance and how hard the accents hit.
Latte is the odd one out. It is a light theme with darker, more saturated accents so they hold on cream. Frappé, Macchiato, and Mocha are three dark themes with pastel accents on a purple-gray ground. Picking among the three darks is a brightness problem. Picking Latte is a daylight problem. Do not flatten those into one slider.
| Latte | Frappé | Macchiato | Mocha | |
|---|---|---|---|---|
| Kind | Light | Dark, muted | Dark, mid | Dark, default |
| Base |
#eff1f5
|
#303446
|
#24273a
|
#1e1e2e
|
| Text |
#4c4f69
|
#c6d0f5
|
#cad3f5
|
#cdd6f4
|
| Mauve |
#8839ef
|
#ca9ee6
|
#c6a0f6
|
#cba6f7
|
| Peach |
#fe640b
|
#ef9f76
|
#f5a97f
|
#fab387
|
| Comments (Overlay 0) |
#9ca0b0
|
#737994
|
#6e738d
|
#6c7086
|
Foreground text barely moves across the three darks. The hole you fall into is Base getting darker while Overlay 0 stays a timid gray. Mocha is where that gap is widest. That is the whole Macchiato argument in one row.
Mocha: the default people mean
Mocha is the original dark flavor and the one in most ricing shots. Base #1e1e2e is a purple-navy, not black. Accents stay candy: Mauve #cba6f7, Peach #fab387, Green #a6e3a1. On a decent monitor in a dim room it looks finished. The file has depth. Sidebars in Mantle #181825 and Crust #11111b stack the way a product UI is supposed to stack.
The cost shows up on cheap laptop panels and on brightness you have turned down to survive fluorescent light. Comments, line numbers, and unfocused tab labels sit on Overlay 0 / Overlay 1. They are designed to recede. On Mocha they recede off the screen. If you already squint at // TODO, Mocha is flattering your wallpaper more than your reading.
Use Mocha when the rest of the setup is already Mocha, when you care how a screenshot looks, or when you work in a dark room on a display that still has contrast at 30% brightness. It is the right default for "I want Catppuccin" with no further opinion.
Macchiato: Mocha with the lights up one notch
Macchiato is the flavor people switch to after a week of Mocha and a complaint they cannot name. Base lifts to #24273a. Accents stay in the same family (Mauve #c6a0f6, Peach #f5a97f) so a config flip does not retrain your eyes. The page is the same product, less crushed.
That lift helps the dim end of the stack more than it helps keywords. You will not notice Macchiato because Peach got louder. You will notice that comments and git gutter marks are still there at 6 p.m. On OLED it can look a little gray next to Mocha. On a 2020 office laptop it looks like someone calibrated the theme.
If you are torn between two dark Catppuccin flavors and you actually write code in them, start Macchiato. Keep Mocha for the wallpaper, the terminal screenshot, the Discord overlay. Plenty of people run Mocha in public and Macchiato in the editor. That is a reasonable split, not indecision.
Frappé: the muted dark
Frappé is the lightest of the three darks (Base #303446) and the least saturated. Official language calls it subdued. In a window next to Mocha it looks like the same palette left in tea. Mauve drops to #ca9ee6. Green and Teal lose some of the candy. The whole UI is closer together in chroma.
That is useful in a bright room where Mocha's pastels start to vibrate, or if high-contrast dark themes give you a headache and you still refuse Latte. It is a weaker choice if you picked Catppuccin because the accents were pretty. Frappé hides the prettiness. Some ports also feel slightly "off" here because screenshots, docs, and default previews assume Mocha, so a Frappé install can look like a failed port until you remember you asked for mute.
I would not install Frappé to look more unique. I would install it because Mocha and Macchiato both felt too much on this particular panel. If you cannot tell Frappé and Macchiato apart in a side-by-side, take Macchiato and stop.
Latte: a real light theme, not a day mode afterthought
Latte inverts the recipe. The ground is cream (#eff1f5). Text is a cool ink (#4c4f69). Accents get darker and punchier so they survive on white: Mauve #8839ef, Peach #fe640b, Blue #1e66f5. If you paste Mocha Mauve onto a Latte background, the purple goes chalky. If you paste Latte Peach onto Mocha, it looks like an error state. Same names, different paint.
This is the Catppuccin answer to "I need a light theme that is still the same system." Muscle memory for Mauve / Peach / Blue survives. The ecosystem treats Latte as first-class, which is rarer than theme READMEs admit. Most dark-theme families ship a day variant that nobody uses and nobody ports. Latte gets the same ports.
When to actually run it: a window behind you, a glossy screen, outdoor cafes, pair sessions on a projector that turns dark UIs into a gray puddle. When not to: you already live in Mocha everywhere else and you will spend the afternoon chasing one app that defaulted dark. Mixed Latte-editor plus Mocha-terminal is legal. It also looks like two products. If the whole-machine consistency was why you chose Catppuccin, switch the set together.
What changes after a few hours
Syntax highlighting does not really pick the flavor for you. A function is still Blue. A string is still Green. The long-session difference is chrome and secondary text.
Mocha rewards a dark room and a display with a real black floor. Macchiato is the commute flavor: office lights, evening bus, a panel that was never great. Frappé is for people who like dark mode as an idea and dislike being stared at by pastels. Latte is for people who already know they read faster on light backgrounds and are tired of themes that only remember them at noon.
None of this is a contrast-ratio scandal. Catppuccin's dark comments are a taste. If you need comments as loud as code, you want a different theme family, or you raise Overlay 0 in the config and quietly stop being a purist. Flavor hopping will not fix a preference for loud annotations.
Screenshots lie in a consistent way
Mocha wins galleries. The accents separate, the background goes inky, the rice looks directed. Macchiato looks a bit faded in a PNG and better in person. Frappé looks like a washed screenshot of Mocha, which is rude and also how compression treats low chroma. Latte looks like a productivity app, which is accurate and will not get upvotes.
If your job is a dotfiles README, Mocha. If your job is tickets until dinner, ignore the README aesthetic. The flavor that photographs well is allowed to be different from the flavor you type in.
How to choose
| If you... | Start with |
|---|---|
| Want the Catppuccin everyone posts, dark room, good monitor | Mocha |
| Like Mocha but lose comments and gutters by late afternoon | Macchiato |
| Want dark mode with less candy, or work under harsh overhead light | Frappé |
| Actually use light themes during the day | Latte |
| Cannot tell Macchiato from Mocha in your editor | Stay on whichever is already installed |
| Need one flavor across terminal, editor, browser, chat | Pick one and finish the set. Mixing Latte and Mocha reads as two themes |
A boring order of operations that works: install Mocha because the docs assume it. If secondary text disappears, switch the same port to Macchiato. If the accents still feel loud, try Frappé. Use Latte when the room is bright, not as a personality. You can keep all four in the config and bind a toggle. You do not need a new colorscheme.
If you are still choosing Catppuccin against another family, that is a different article: Tokyo Night vs Catppuccin. Flavor is the setting inside the one you already wanted.
Background and accent values match the official palette. For every named hex, use the four-flavor hex chart.