Metabase Dark Mode: Complete Setup Guide
Enable dark mode in Metabase v57+ via settings or Command Palette. Configure embedded dashboards, troubleshoot gauge chart issues, and learn why self-hosting avoids per-user costs.
- Enable dark mode in Account Settings > Appearance or press Cmd+K/Ctrl+K and toggle it via Command Palette
- Three theme options available: System default, Always use dark mode, and Always use light mode
- Dark mode for embedded dashboards requires SDK configuration (theme preset) or URL parameter (#theme=night) in v57.3+
- Gauge charts have a rendering bug in dark mode where values become invisible; use Progress charts instead
- Self-hosted Metabase on Opsily keeps costs flat per instance, unlike Metabase Cloud's per-user pricing
Dark mode is now available in Metabase v57 and later as a per-user appearance setting, not an instance-wide toggle. You can enable it in two ways: through Account Settings > Appearance, or instantly via the Command Palette. This guide walks you through enabling dark mode, handling embedded dashboards, troubleshooting visualization quirks, and understanding why managing your own Metabase instance keeps costs flat regardless of how many users choose dark mode.
How to Enable Dark Mode in Metabase
Enabling dark mode takes less than 30 seconds. Open Metabase, click your avatar in the bottom left corner of the sidebar, and select Account Settings. On the Appearance tab, you will see three radio button options under "Theme": System default, Always use dark mode, and Always use light mode. Select Always use dark mode, and the interface switches immediately without reloading the page.
If you prefer the interface to match your operating system's setting, choose System default instead. This respects Windows 10+, macOS, or Linux theme preferences automatically. Some users prefer this because it keeps Metabase in sync with their desktop environment.
Note that this is a per-user setting. You cannot force dark mode across your entire Metabase instance for all users. Each person controls their own appearance independently. This is important if you're evaluating Metabase for a team: everyone gets to choose their own theme.
Using the Command Palette to Toggle Dark Mode
If you use Metabase frequently, the Command Palette is faster than digging into settings. Press Cmd+K on Mac or Ctrl+K on Windows and Linux. A search box appears at the top of your screen. Type "dark" or "theme" and you will see "Switch to dark mode" (if you are currently in light mode) or "Switch to light mode" (if you are in dark mode). Press Enter and the theme switches instantly.
This workflow is ideal when you are working on dashboards during the day and want to switch to dark mode for evening use without navigating menus. The toggle persists: next time you open Metabase, your chosen theme remains active.
On some browsers or configurations, the Command Palette may not appear if it conflicts with your browser's default shortcuts. If Cmd+K or Ctrl+K does not open the palette, check your browser extensions or try a different keyboard configuration.
Understanding the Three Theme Options
The three theme choices in Metabase offer different behaviors for your appearance preferences.
System default follows your operating system's theme setting. If you switch your Mac to dark mode in System Preferences, Metabase detects this and applies dark mode automatically. If you are on Windows and enable dark mode in Settings > Colors, Metabase picks it up. This option is ideal if you want one setting to control all your applications at once, and you do not want to manage Metabase theme separately.
Always use dark mode forces dark mode on, regardless of your system setting. If your OS is set to light mode but you prefer dark mode in Metabase, this is your option. Some users choose this because Metabase's dark mode looks better than their OS default, or they want dark mode during office hours even if Windows is set to light.
Always use light mode locks in light mode. This prevents accidental switches if your system theme is set to dark mode. Some data analysts prefer light mode for printed dashboards or screen sharing in meetings where light backgrounds read more clearly on projectors.
There is no performance difference between the three options. Dark mode does not consume less CPU or memory. It is purely a visual preference. Choose the one that reduces eye strain for your work schedule.
Dark Mode for Embedded Dashboards
If you embed Metabase dashboards into another application (your SaaS product, an internal admin panel, a customer portal), dark mode handling depends on how you embed.
For SDK embeds (JavaScript SDK), you pass a theme preset in the configuration object: theme: {preset: "dark"} or theme: {preset: "light"}. This applies to the entire embedded dashboard. Users viewing the embed see only the theme you specified, not their own Metabase setting.
For static embeds (sharing a public link), append #theme=night to the end of your dashboard's public URL to enable dark mode. This works in Metabase v57.3 and later. In v57.0 through v57.2, the #theme=night parameter was broken for embedded public links; if you are on one of those versions, upgrade to v57.3 or later for this to work.
For Pro and Enterprise customers, Metabase also offers saved themes. You create a custom color palette in Admin > Settings > Appearance and save it as a theme. You then apply that saved theme to embedded dashboards via the SDK. This allows you to embed dashboards that match your brand's color scheme, whether in light or dark mode.
Internal Metabase dashboards (not embedded, viewed directly in Metabase) always respect the user's own theme choice from Account Settings. You cannot override a user's preference for internal dashboards.
Troubleshooting: Which Visualizations Have Issues in Dark Mode
Most visualizations work correctly in dark mode. However, gauge charts have a known bug: the needle and value text can become invisible or hard to read against the dark background. This is reported in GitHub issue #69223 and affects Metabase v57.0+.
If you are using gauge charts and they look broken in dark mode, the workaround is to switch to the Progress visualization instead, which renders legibly in both light and dark mode. Alternatively, you can avoid dark mode for that specific dashboard, or contact Metabase support to request an update.
Other visualizations (bar charts, line charts, tables, maps, numbers, scatter plots, waterfall charts, and most others) render correctly in dark mode. Metabase's engineering team tests dark mode against the core visualizations, but edge cases can occur. If you find a visualization that looks broken in dark mode, open a GitHub issue or contact your Metabase support channel with a screenshot. Providing details about your Metabase version, visualization type, and the data helps the team prioritize fixes.
Dark mode does not affect data accuracy or calculations. If a metric looks wrong, it is a rendering issue, not a data issue. Switching back to light mode will show you the correct value.
Can You Force Dark Mode Instance-Wide?
No. Metabase v57 and later does not offer an instance-wide dark mode setting. Dark mode is a per-user preference only. Each user must enable it individually in their Account Settings.
If you want all users to experience dark mode by default, the closest workaround is to customize your Metabase's UI colors in Admin > Settings > Appearance. You can change the primary color, neutral color, accent color, and other theme variables. This applies the custom colors to all users, but it is not the same as switching to a pre-built dark theme. You would have to manually select dark-friendly colors (dark backgrounds, light text, high-contrast accents) to approximate a dark mode experience.
For a full dark mode applied to all users, you would need to wait for a future Metabase release, or manage your own fork of Metabase (Metabase is open source under the AGPL license with ~45,980 GitHub stars). Self-hosting allows you to customize the codebase, but this requires significant development effort and ongoing maintenance.
Why Self-Host Metabase: Per-User Features and Hosting Costs
Dark mode is one of many per-user features in Metabase. Metabase Cloud charges by the number of active users: you pay per person. This means every user, regardless of whether they use dark mode or light mode, contributes to your monthly bill.
When you self-host Metabase on Opsily managed Kubernetes, you pay a flat monthly rate for your instance, not per user. If you have 5 users or 500 users, your hosting cost remains the same. This makes self-hosting cost-effective for teams where user count is high or expected to grow, especially when features like dark mode are per-user configuration.
Opsily handles the infrastructure: backups, security patches, monitoring, and updates. You do not manage the servers. Check Opsily's Metabase hosting options to compare managed pricing against per-user Metabase Cloud costs and see if self-hosting fits your budget.
Frequently Asked Questions
How do I enable dark mode in Metabase?
Click your avatar in the sidebar, select Account Settings, choose the Appearance tab, and select "Always use dark mode" from the Theme options. Alternatively, press Cmd+K (Mac) or Ctrl+K (Windows/Linux), type "dark," and select the toggle option. The change applies instantly.
What's the difference between System default and Always use dark mode?
System default syncs Metabase's theme to your operating system setting. If your OS is in dark mode, Metabase switches to dark mode. Always use dark mode locks Metabase to dark mode regardless of your OS setting. Use System default if you want one setting to control all your apps; use Always use dark mode if you prefer dark mode in Metabase specifically.
Can I force dark mode for the entire Metabase instance?
No. Dark mode is a per-user setting only. Each user must enable it individually. You cannot enforce it across all users. You can customize UI colors in Admin > Settings > Appearance to select dark-friendly colors for all users, but this is not the same as switching to a built-in dark theme.
How do I set dark mode for embedded dashboards?
Use theme: {preset: "dark"} in your JavaScript SDK configuration for embedded dashboards. For static public links, append #theme=night to your dashboard's public URL. This works in Metabase v57.3 and later.
Which visualizations have issues in dark mode?
Gauge charts have a known bug where values and needles become hard to read or invisible in dark mode. Most other visualizations (bar, line, table, scatter, map, number) render correctly. If you use gauge charts, consider switching to Progress charts or opening a GitHub issue if you want to report the problem.
Does dark mode reload the page when I switch it on?
No. Dark mode toggles instantly without reloading. The change applies immediately to all dashboards and content you are viewing. Your preference is saved, so it persists the next time you open Metabase.
Does dark mode use less battery on my device?
On OLED screens (many modern phones and some laptops), dark mode can reduce power consumption slightly because black pixels require less power. On LCD or LED screens, dark mode has no battery benefit. The difference is negligible for most laptop and desktop work.
The Bottom Line
Dark mode in Metabase v57+ is a simple per-user setting accessible from Account Settings or the Command Palette. It switches instantly, works across most visualizations, and can be applied to embedded dashboards via SDK configuration or URL parameters. Gauge charts are a known issue; consider Progress charts as a workaround. If you are evaluating Metabase hosting and your team is growing, self-hosting avoids per-user licensing costs and keeps your budget flat regardless of how many people choose dark mode. Explore Opsily's managed Metabase hosting to compare pricing models.