Theme Adapters for Bootstrap, MUI, and shadcn/ui

In addition to its predefined themes, SurveyJS includes theme adapters for popular UI frameworks and design systems.

A theme adapter is a lightweight stylesheet that maps SurveyJS design tokens to framework-specific styles and provides additional styles for SurveyJS UI components that the framework does not provide. It makes SurveyJS components match the look and feel of your application without custom CSS.

SurveyJS provides theme adapters for Bootstrap, MUI, and shadcn/ui out of the box.

Bootstrap

The Bootstrap theme adapter applies Bootstrap's typography, colors, spacing, and form control styles to SurveyJS components, making surveys appear as a natural part of Bootstrap-based applications.

SurveyJS Bootstrap Theme Adapter

To use the Bootstrap theme adapter, import or reference its CSS file:

// Modular applications
import "survey-core/themes/adapters/bootstrap.css";
<!-- Classic script applications -->
<link href="https://unpkg.com/survey-core/themes/adapters/bootstrap.min.css" rel="stylesheet">

Bootstrap Theme Adapter Demo

Material UI (MUI)

The Material UI (MUI) theme adapter aligns SurveyJS components with your application's MUI theme, including typography, colors, spacing, and component styling.

SurveyJS MUI Theme Adapter

To use the MUI theme adapter, import or reference its CSS file:

// Modular applications
import "survey-core/themes/adapters/mui.css";
<!-- Classic script applications -->
<link href="https://unpkg.com/survey-core/themes/adapters/mui.min.css" rel="stylesheet">

MUI Theme Adapter Demo

shadcn/ui

The shadcn/ui theme adapters make SurveyJS components match the visual style of your shadcn/ui application. Because shadcn/ui supports multiple visual styles, SurveyJS provides a separate adapter for each one.

SurveyJS shadcn/ui Theme Adapter

Import or reference the CSS file for your application's visual style. Import or reference only one adapter.

// Modular applications
import "survey-core/themes/adapters/shadcn-base-default.css";
import "survey-core/themes/adapters/shadcn-new-york.css";
import "survey-core/themes/adapters/shadcn-base-luma.css";
import "survey-core/themes/adapters/shadcn-base-lyra.css";
import "survey-core/themes/adapters/shadcn-base-maia.css";
import "survey-core/themes/adapters/shadcn-base-mira.css";
import "survey-core/themes/adapters/shadcn-base-nova.css";
import "survey-core/themes/adapters/shadcn-base-rhea.css";
import "survey-core/themes/adapters/shadcn-base-sera.css";
import "survey-core/themes/adapters/shadcn-base-vega.css";
<!-- Classic script applications -->
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-default.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-new-york.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-luma.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-lyra.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-maia.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-mira.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-nova.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-rhea.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-sera.min.css" rel="stylesheet">
<link href="https://unpkg.com/survey-core/themes/adapters/shadcn-base-vega.min.css" rel="stylesheet">

shadcn/ui Theme Adapter Demo

See Also

Design Tokens — CSS-Based Customization

Send feedback to the SurveyJS team

Need help? Visit our support page

Your cookie settings

We use cookies to make your browsing experience more convenient and personal. Some cookies are essential, while others help us analyse traffic. Your personal data and cookies may be used for ad personalization. By clicking “Accept All”, you consent to the use of all cookies as described in our Terms of Use and Privacy Statement. You can manage your preferences in “Cookie settings.”

Your renewal subscription expires soon.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.

Your renewal subscription has expired.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.