Skip to main content
The Medusa admin dashboard is highly customizable, allowing you to tailor the appearance and branding to match your business identity.

Theming

The admin dashboard supports light and dark themes out of the box, with automatic system preference detection.

Theme Provider

The dashboard uses a ThemeProvider (packages/admin/dashboard/src/providers/theme-provider/theme-provider.tsx) that:
  • Persists theme selection to localStorage
  • Supports light, dark, and system options
  • Applies theme changes without page reload
  • Manages smooth transitions between themes

Theme Context

Access the current theme in your custom components:

Color Customization

The dashboard uses CSS variables for theming. You can override these in your own CSS:

Branding

To replace the Medusa logo with your own:
1

Prepare Your Logo

Create SVG or PNG versions of your logo:
  • Full logo (for sidebar)
  • Icon/mark (for collapsed sidebar)
  • Recommended size: SVG or 200x50px PNG
2

Create a Custom Component

Create a custom route or widget to override the logo:
3

Add Custom Styles

Override default branding with CSS:

Custom Fonts

Add custom fonts to match your brand:

Favicon

To customize the favicon:
  1. Add your favicon files to the public directory
  2. Update the HTML head in your build configuration

Layout Customization

The sidebar can be customized through the SidebarProvider:

Custom Navigation

Add custom menu items to the sidebar:

Styling Components

Using Medusa UI Components

The dashboard includes the @medusajs/ui design system:

Tailwind CSS

The dashboard uses Tailwind CSS for styling. All Tailwind utilities are available:

Custom CSS

Add global styles by creating a CSS file:
Import the CSS in your widget or route:

Advanced Customization

Custom Provider

Wrap the dashboard in your own provider:

Internationalization

Customize or add translations:
Use translations in your components:

Best Practices

Always use CSS variables and Tailwind utilities instead of hard-coded colors to ensure your customizations work in both light and dark modes.
Leverage the @medusajs/ui components for consistency and automatic theme support.
Ensure your customizations work well on mobile, tablet, and desktop screens.
Keep custom CSS minimal and avoid heavy JavaScript in the main bundle.

Next Steps