theme_color
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The theme_color
member is used to specify the default color for your web application's user interface.
This color may be applied to various browser UI elements, such as the toolbar, address bar, and status bar.
It can be particularly noticeable in contexts like the task switcher or when the app is added to the home screen.
Syntax
/* Valid named color */
"theme_color": "rebeccapurple"
/* Using hexadecimal value */
"theme_color": "#42b5f4"
/* Using RGB value */
"theme_color": "rgb(66 133 244)"
Values
theme_color
-
A string that specifies a valid color value.
Note: Browsers may ignore the alpha component of the color based on the context. In most environments,
theme_color
cannot be transparent. It's recommended to use fully opaque colors (alpha value of 1 or 100%) to ensure consistent behavior across different platforms and browsers.
Description
While optional, specifying a theme_color
allows you to extend your app's visual identity beyond its content areas.
This color application can provide a more native app-like experience for your web app, especially when it's loaded in standalone mode.
Choose a theme_color
that aligns with your app's brand guidelines, as this can enhance user recognition and recall, particularly when your app is viewed alongside other applications or system interfaces.
In browsers that support theme_color
, the value specified in the manifest file serves as the default theme color for your web app across all pages where the manifest is applied.
You can override this default in the following ways:
-
Using the
theme-color
value of thename
attribute in the HTML<meta>
element: You can specify a theme color for a web page that's different from the manifesttheme_color
specified for your app. This enables you to set different theme colors for individual pages within your app.html<meta name="theme-color" content="#9370DB" />
-
Combining the
<meta name="theme-color">
element with media queries: You can specify the theme color to be used based on user's color scheme preference.html<meta name="theme-color" content="#F4E6D8" media="(prefers-color-scheme: light)" /> <meta name="theme-color" content="#5D4037" media="(prefers-color-scheme: dark)" />
These override methods provide you the flexibility to adapt your app's appearance for specific pages or user preferences, improving the overall user experience.
Browsers may also adjust the applied theme color based on user preferences.
If a user has set a preference for light or dark mode, browsers may override the manifest theme_color
value to support any prefers-color-scheme
media query defined in your app's CSS.
body {
background: #f8f9fa;
color: #212529;
}
@media (prefers-color-scheme: dark) {
body {
background: #212529;
color: #f8f9fa;
}
}
Examples
Using a named color
{
"theme_color": "red"
}
Using an RGB value
{
"theme_color": "rgb(66, 133, 244)"
}
Using a hexadecimal value
{
"name": "My First App",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#ff4500"
}
Specifications
Specification |
---|
Web Application Manifest # theme_color-member |
Browser compatibility
BCD tables only load in the browser
See also
display
manifest memberbackground_color
manifest memberscope
manifest member- Customize your app's theme and background colors when building PWAs