1---
2title: Themes - Zed
3description: Browse, install, and create themes for Zed. Includes built-in themes and community theme extensions.
4---
5
6# Themes
7
8Zed comes with a number of built-in themes, with more themes available as extensions.
9
10## Selecting a Theme
11
12See what themes are installed and preview them via the Theme Selector, which you can open from the command palette with the `theme selector: toggle` (bound to {#kb theme_selector::Toggle}) action.
13
14Navigating through the theme list by moving up and down will change the theme in real time and hitting enter will save the selected one to your settings file.
15
16## Installing New Themes
17
18You can find hundreds of different theme options in Zed's extensions store, which you can access via the command palette with `zed: extensions` or the [Zed website](https://zed.dev/extensions?filter=themes).
19
20Many popular themes have been ported to Zed, and if you're struggling to choose one, visit [zed-themes.com](https://zed-themes.com), a third-party gallery with visible previews for many of them.
21
22## Build Your Theme
23
24You can use [Zed's Theme Builder](https://zed.dev/theme-builder) to design your own custom theme based on an existing one.
25
26This tool lets you fine-tune and preview how every surface in the Zed app will look.
27You can then export the JSON for [local use](./themes.md#local-themes) or for [publishing in Zed's extension store](./extensions/themes.md).
28
29## Configuring a Theme
30
31Your selected theme is stored in your settings file.
32You can open your settings file from the command palette with {#action zed::OpenSettingsFile} (bound to {#kb zed::OpenSettingsFile}).
33
34By default, Zed maintains two themes: one for light mode and one for dark mode.
35You can set the mode to `"dark"` or `"light"` to ignore the current system mode.
36
37```json [settings]
38{
39 "theme": {
40 "mode": "system",
41 "light": "One Light",
42 "dark": "One Dark"
43 }
44}
45```
46
47## Theme Overrides
48
49To override specific attributes of a theme, use the `theme_overrides` setting.
50This setting can be used to configure theme-specific overrides.
51
52For example, add the following to your `settings.json` if you wish to override the background color of the editor and display comments and doc comments as italics:
53
54```json [settings]
55{
56 "theme_overrides": {
57 "One Dark": {
58 "editor.background": "#333",
59 "syntax": {
60 "comment": {
61 "font_style": "italic"
62 },
63 "comment.doc": {
64 "font_style": "italic"
65 }
66 },
67 "accents": [
68 "#ff0000",
69 "#ff7f00",
70 "#ffff00",
71 "#00ff00",
72 "#0000ff",
73 "#8b00ff"
74 ]
75 }
76 }
77}
78```
79
80To see a comprehensive list of list of captures (like `comment` and `comment.doc`) see [Language Extensions: Syntax highlighting](./extensions/languages.md#syntax-highlighting).
81
82To see a list of available theme attributes look at the JSON file for your theme.
83For example, [assets/themes/one/one.json](https://github.com/zed-industries/zed/blob/main/assets/themes/one/one.json) for the default One Dark and One Light themes.
84
85## Local Themes {#local-themes}
86
87Store new themes locally by placing them in the `~/.config/zed/themes` directory (macOS and Linux) or `%USERPROFILE%\AppData\Roaming\Zed\themes\` (Windows).
88
89For example, to create a new theme called `my-cool-theme`, create a file called `my-cool-theme.json` in that directory.
90It will be available in the theme selector the next time Zed loads.