1# Appearance
2
3Zed's visual appearance is highly configurable. You can change themes, fonts, icon styles, and dozens of UI elements to match your preferences.
4
5This page covers the essentials to get you started quickly, outlines how settings work, and points you to detailed documentation for specific customizations.
6
7## Customize Zed in 5 Minutes
8
9Here's how to make Zed feel like home:
10
111. **Pick a theme**: Open the command palette with {#kb theme_selector::Toggle} and type "theme" to open the Theme Selector. Arrow through the list to preview themes in real time, and press Enter to apply.
12
132. **Choose an icon theme**: Run `icon theme selector: toggle` from the command palette to browse icon themes.
14
153. **Set your font**: Open the Settings Editor with {#kb zed::OpenSettings} and search for `buffer_font_family`. Set it to your preferred coding font.
16
174. **Adjust font size**: In the same Settings Editor, search for `buffer_font_size` and `ui_font_size` to tweak the editor and interface text sizes.
18
19That's it. You now have a personalized Zed setup.
20
21## How Settings Work
22
23The **Settings Editor** ({#kb zed::OpenSettings}) is the primary way to configure Zed. It provides a searchable interface where you can browse available settings, see their current values, and make changes. As you type in the search box, matching settings appear with descriptions and controls to modify them.
24
25Changes you make in the Settings Editor are saved automatically to your settings file.
26
27### User Settings vs Project Settings
28
29Zed supports two levels of configuration:
30
31- **User settings** apply globally across all projects. These are your defaults.
32
33- **Project settings** override user settings for a specific project. Create a `.zed/settings.json` file in your project root to customize behavior per-codebase (for example, different tab sizes or formatters for different projects).
34
35### Editing Settings as JSON
36
37If you prefer working with JSON directly, open your settings file with {#kb zed::OpenSettingsFile}. This file is located at:
38
39- macOS/Linux: `~/.config/zed/settings.json`
40- Windows: `%APPDATA%\Zed\settings.json`
41
42The Settings Editor and JSON file represent the same configuration—changes in one are reflected in the other.
43
44> **Tip:** Some advanced settings aren't yet available in the Settings Editor. For full control, edit the JSON file directly.
45
46### Example: Changing Your Theme
47
48Using the Settings Editor:
491. Press {#kb zed::OpenSettings}
502. Search for "theme"
513. Select your preferred theme from the dropdown
52
53Or add this to your `settings.json`:
54
55```json [settings]
56{
57 "theme": {
58 "mode": "system",
59 "light": "One Light",
60 "dark": "One Dark"
61 }
62}
63```
64
65## Using Settings Deep Links
66
67Zed supports deep links that open specific settings directly. These are useful for:
68
69- Sharing configuration tips with teammates
70- Quick access from documentation
71- Automation and scripting
72
73Deep links follow the format `zed://settings/setting_name`. For example, `zed://settings/theme` opens the theme settings.
74
75## Detailed Customization
76
77### Themes
78
79Install themes from the Extensions page ({#action zed::Extensions}), then switch between them with the Theme Selector ({#kb theme_selector::Toggle}).
80
81Zed supports separate themes for light and dark mode, automatic switching based on your system preference, and per-theme overrides for fine-grained control.
82
83→ [Themes documentation](./themes.md)
84
85### Icon Themes
86
87Customize file and folder icons in the project panel and tabs. Browse available icon themes with the Icon Theme Selector.
88
89→ [Icon Themes documentation](./icon-themes.md)
90
91### Fonts & Visual Tweaks
92
93Configure fonts for the editor buffer, UI, and terminal independently. Adjust line height, enable or disable ligatures, and tweak dozens of visual elements like the status bar, tab bar, scrollbar, and panels.
94
95→ [Visual Customization documentation](./visual-customization.md)
96
97## What's Next
98
99- [Key bindings](./key-bindings.md) — Customize keyboard shortcuts
100- [Vim Mode](./vim.md) — Enable modal editing
101- [Snippets](./snippets.md) — Create custom code snippets
102- [All Settings](./configuring-zed.md) — Complete settings reference