Transparent Terminals on macOS: Blur, Opacity, Done Right
·Terminal Candy ·6 min read
Transparency is the first thing everyone turns on and the second thing everyone turns off. It looks incredible in a screenshot and then you spend a week squinting at a stack trace with your wallpaper showing through it.
It does not have to go that way. The difference between a transparent terminal that works and one that does not comes down to three settings and one rule, and almost every tutorial gets the rule wrong.
The rule, first
Blur high. Opacity high. In that order.
Transparency without blur is the mistake. If the desktop behind your window is sharp, every letter of your text is fighting a different background color. Contrast changes character by character, your eye never settles, and after twenty minutes you have a headache you cannot explain.
Blur flattens whatever is behind the window into a smooth low-frequency wash. Your text is then sitting on something close to a single color, which is what your eye wants. Crank the blur, then pull opacity back only as far as you still find comfortable.
Concrete starting point: opacity 0.90, blur near the maximum your terminal allows. That reads as translucent, keeps a sense of depth, and does not cost you anything. If you want more of the effect, go to 0.85. Below 0.80 you are choosing looks over legibility, which is a legitimate choice, just make it knowingly.
Terminal.app
Apple's terminal has had this since forever and it is buried in a color picker, which is why people think it does not.
- Terminal > Settings > Profiles > Window
- Click the Background Color swatch
- In the color picker, open Color & Effects (the sliders tab)
- Use Opacity and Blur
Two sliders, no config file. Terminal.app's blur is good, and its transparency applies to the background only, so colored text cells stay solid. It gets this right by accident of being simple.
Downside: your changes live in a profile you cannot version control or share.
iTerm2
More knobs, more ways to get it wrong.
- Settings > Profiles > Window
- Transparency slider (start around 10 to 15 percent)
- Blur checkbox, then the radius (goes to 30, use 20 or more)
Two more settings matter and both are easy to miss:
- Transparency affects only default background color. Turn this on. Without it, a cell with a colored background goes translucent too, and your selected text or your
lsdirectory highlights turn to mush. With it on, only the empty background is see-through and every colored cell stays solid. This single checkbox is the difference between "nice" and "unreadable." - Appearance > Windows > Dim inactive windows. Useful with transparency, since a stack of translucent windows quickly becomes visual soup. Dimming the ones you are not typing in restores the depth cue.
If you use a background image instead of transparency, iTerm2's Blending slider is what you want, not transparency. Blending mixes the image toward your background color. Anything above about 30 percent image blend and you are reading text on top of a photograph, which nobody has ever done successfully.
Ghostty
Config file, two lines:
background-opacity = 0.90
background-blur-radius = 20
Newer builds accept background-blur as the same setting. Reload with Cmd+Shift+Comma. Ghostty's implementation is clean and cheap, and because it is in a text file it follows you to every Mac you own.
Skinnable terminals
Once the window itself is art, transparency becomes a composition question rather than a slider.
In Terminal Candy, skins carry their own frame, texture, and background treatment. Some are designed opaque, because a frame with visible edges and a texture behind the text is already providing the depth that transparency usually buys you. Stack transparency on top of a heavily textured skin and the two effects fight: the texture wants to be seen, the desktop behind it wants to be seen, and your text loses to both.
My rule with skins: transparency for flat, minimal skins. Opacity for anything with texture or frame art. If a skin already has something happening behind the text, do not add a second thing.
Effects follow the same logic. CRT scanlines and phosphor glow are subtractive on readability by design, they are simulating imperfect hardware. Running scanlines over a 0.80-opacity window over a busy wallpaper is three readability costs stacked on each other. Pick one. I go into the effects side properly in CRT terminal effects on macOS.
Contrast, with actual numbers
The accessibility guideline for normal body text is a 4.5:1 contrast ratio, and 7:1 for the strict tier. Terminal text is small, dense, and stared at for hours, so treat 7:1 as your target and not your ceiling.
Here is the part people miss. Transparency lowers your effective contrast ratio, and it lowers it by an amount that depends on the wallpaper you happened to have that day. A theme you measured at 8:1 in isolation can land near 5:1 once 15 percent of a bright desktop is mixed in underneath.
Practical checks:
- Test against your brightest wallpaper, not your usual one. That is the worst case and it is the one that will hurt.
- Watch the dim colors. Comment gray and bright black are the first casualties. If your comments vanish, your opacity is too low or your theme's gray needs a bump.
- Check your reds. Error text that does not read as urgent is a real cost, not an aesthetic one.
- Use a dark, low-detail wallpaper. A solid dark gradient behind a translucent terminal is the entire trick professionals use and never mention.
When transparency actively hurts
Screen sharing. This is the big one and it is a privacy issue, not a taste issue. A translucent terminal shows whatever is behind it. On a call, that is your inbox, your calendar, the Slack DM you have open. Turn opacity to 1.0 before you share your screen. Make it a habit, or make it a saved profile you switch to.
Recording and documentation. A wallpaper bleeding through a screenshot looks sloppy in a README and is worse in a bug report, where the reader needs to see exactly what you saw.
Dense output. Long diffs, log tailing, anything with fine color distinctions. Compare a git diff at 0.85 opacity against the same diff at 1.0. The red and green separation you rely on is weaker.
Battery. Continuous large-surface blur is real GPU work. Open Activity Monitor's Energy tab with a full-screen blurred terminal and again without one. On a laptop away from power, it is not nothing.
Agent sessions. If you run Claude Code or another CLI agent, you are reading fast-scrolling colored output for minutes at a time. That is exactly the workload transparency taxes hardest. I keep my agent windows opaque and save the translucent skin for the window where I actually type. More on that setup in Terminal Candy for Claude Code and the best terminal for Claude Code comparison.
The setup I actually run
- Dark, blurred, low-detail wallpaper. No photos.
- Opacity 0.90, blur maxed.
- Transparency on the background only, never on colored cells.
- Opaque profile bound to a shortcut for screen sharing.
- Effects and transparency never at the same time.
If you want the rest of the look, fonts and prompt and window chrome, that is how to make your Mac terminal look good.
And if you have hit the ceiling of what a slider can do, Terminal Candy skins the whole window instead of just tinting it. Native AppKit, Apple Silicon, free for 14 days, then $10 once. Every skin in the gallery is one click, and the Skin Builder is in the app if none of them are yours.