Custom themes are not yet stable. There may be breaking changes in the future (see Migrations).
Custom themes are JSON files that are stored in the
Themes folder inside your Chatterino folder.
Creating A Theme¶
To create a theme, it's best to use one of the built-in themes as the starting point.
You can find them in the
resources/themes folder inside the source-code.
Copy one into the
Themes folder and restart Chatterino.
When you open the settings and select a theme, you should see one prefixed with
Make sure, you're familiar with the common words used in Chatterino.
Chatterino themes have a JSON schema that must match in order for the theme to be displayed correctly. Many editors support JSON schemas out of the box and warn you about invalid values and provide completions.
If you used one of the base themes, then the
$schema key inside the JSON is invalid, since its value is configured to work inside the Chatterino source-code. You should change the value of
https://github.com/Chatterino/chatterino2/raw/master/docs/ChatterinoTheme.schema.json as shown below. If you want to pin the schema to a specific version, replace
master with your desired version (for example
When developing themes, you often want to reload your changes and see how they look.
To aid you in doing that, Chatterino can automatically reload your theme.
/c2-theme-autoreload command in any chat to toggle auto-reload.
Make sure to disable auto-reloading after you're done with your changes to reduce resource usage.
Colors in themes can be specified in various ways.
All values that expect a
qt-color accept one of the following values.
Make sure you're using the schema to get editor feedback.
Technically, the values are passed to
QColor which does the parsing.
B are single hex digits (0-9, a-f, A-F).
#AARRGGBBThis format is different from the CSS Color Moudle Level 4
<hex-color>, where the alpha value is at the end.
- SVG color keyword names - For example
mediumspringgreen. Note that these color names are technically case-insensitive and accept spaces, but this isn't supported by the schema, which only accepts lower-case names.
These are some alternate ways of creating your own custom themes:
- Chatterino Theme Creator by
This section contains added, updated, and removed properties in a release, and commit for nightly versions.