Compare Sizes
Français Español

Best Svelte UI Components Libraries


Svelte is a JavaScript framework for building user interfaces. It is a relatively new framework that aims to provide a more lightweight and efficient alternative to frameworks like React and Angular.

One of the key features of Svelte is that it uses a compile-time approach to building user interfaces, which means that it converts your component code into highly optimized vanilla JavaScript at build time, rather than relying on runtime interpretation like many other frameworks. This can result in faster and more efficient performance, especially on lower-powered devices.

Svelte also has a library of UI components that you can use to build your application. These components are designed to be easy to use and customizable, and they can help you build interactive and responsive user interfaces quickly and efficiently. Some of the components that are included in the Svelte library include buttons, form elements, layout components, and more. You can also create your own custom components and reuse them throughout your application, or you can use one of the following Svelte UI component library.

Here is the Best Svelte UI components libraries comparison table. Do not hesitate to help to maintain this collaborative detailed comparison up-to-date.

Flowbite SvelteSvelteui.orgSTWUIAttractionsSkeletonSvelte Material UI

Flowbite is an open-source library of over 400+ web components and interactive elements built with the utility classes from Tailwind CSS. Flowbite-Svelte is the official Flowbite library for Svelte. All interactivities are handled by Svelte.

Unlike other libraries, Flowbite focuses on a singular and opinionated design aesthetic. Flowbite is a general purpose library, which means it can be used within any framework, but also provides framework-specific variations like Flowbite Svelte. It’s relatively simple to tailor a Flowbite component to work within an existing Tailwind design system.

SvelteUI includes more than 50+ customizable components. All SvelteUI packages are built with TypeScript and support it by default.Opinionated yet customizable Svelte-TailwindCSS component library. Svelte-TailwindCSS UI (STWUI) is currently in pre-release. There has been a lot work already but a lot of work still needs to be done.A pretty cool UI kit for Svelte. 49 components and more to come.A fully featured UI Toolkit. Build reactive interfaces quickly using Svelte + Tailwind CSS. Skeleton is currently in beta. Expect breaking changes prior to v1.0. Skeleton is a UI library, featuring tight integration between Svelte and Tailwind CSS. In short, the library utilizes Tailwind’s utility class-based design system to quickly and easily customize and extend the look and feel of each component. Paired with Svelte’s powerful component architecture, Skeleton creates customized, responsive, and reactive interfaces for any size project.Material UI components for Svelte apps. Many SMUI components are based on Material Design Components for Web, by Google. It integrates these components using the "Advanced Approach", where the MDC Foundation does some business logic, and the SMUI component handles DOM updates and data binding.
Size240.6 KB in size and only 57.3 KB gzipped
Last updateDec. 31st 2022 12:10:05 PMDec. 30th 2022 10:25:22 PMDec. 31st 2022 12:11:02 PMDec. 30th 2022 10:41:10 PMDec. 30th 2022 10:41:12 PMDec. 31st 2022 12:30:50 AM
AppShell- Navbar, Sidebar, Footer components...Yes Responsive shell for your application with header, navbar, sidebar, and footerNoNoYes Responsive shell for controlling application layout.No
ContainerNoYes Center content horizontally with predefined max-widthNoNoNoNo
CenterYes Centers content vertically and horizontallyNoNoNo
Dark Mode / LightswitchYesNoNoNoYes Allows users to toggle between light and dark themes using Tailwind's dark mode feature.No
FooterYes Use the footer section at the bottom of every page to show valuable information to your users, such as sitemap links, a copyright notice, and a logoYes AppShell componentNoNo- Bottom App Bar : should be used for mobile devices only.
GridNoYes Flexbox grid with variable amount of columnsYesNoNoYes
GroupNoYes Compose elements and components in a horizontal flex containerNoNoNoNo
MediaQueryNoYes Apply styles to children if media query matchesNoNoNo
NavbarYes The navbar component can be used to show a list of navigation links positioned on the top side of your page based on multiple layouts, sizes, and dropdowns (Navbar with search, CTA button...Sticky navbar)Yes AppShell componentNoYes App Bar : A header element for the top of your page layout. Pairs well with the App Shell.Yes Top App Bar
SimpleGridNoYes Responsive grid where each item takes equal amount of spaceNoNoNo
SidebarYes Use the sidebar component to show a list of menu items and multi-level dropdown items on either side of the page to navigate on your website (with content separator, add a CTA button, show logo...)Yes AppShell componentNoNoYes App Rail : A side navigation rail componentNo
SpaceNoYes Add horizontal or vertical spacing from themeNoNoNoNo
StackNoYes Compose elements and components in vertical flex containerNoNoNoNo
AnchorYes The link component can be used to set hyperlinks from one page to another or to an external website when clicking on an inline text item, button, or cardYes Display links with theme stylesNoNoNo
BreadcrumbsYes Show the location of the current page in a hierarchical structure using the breadcrumb componentsNoYesYes Breadcrumbs are used to indicate the current page's location in the navigation hierarchy, as well as to navigate through it.Yes Displays the current navigation hierarchy.No
BurgerNoYes The Burger component renders an open/close menu button.Yes SwapNoNoNo
Drawer (or Off-canvas)Yes The Drawer component can be used as a hidden off-canvas sidebar for navigation and to show other information based on multiple styles and placementsNoYesNoYes Displays an overlay panel that attaches to any side of the screen.Yes
PaginationYes Use the Tailwind CSS pagination element to indicate a series of content across various pagesNo- This component is still a work in progress and is subject to change.YesYes Navigate between multiple pages of content.No
SeoNoYes Manage your SEO informationNoNoNoNo
TabsYes Use these responsive tabs components to create a secondary navigational hierarchy for your website or toggle content inside a container (Tabs with underline, with icons...)Yes Display links with theme stylesYesYesYes Use tabs to quickly switch between different views.Yes
Data Display
AccordionYes Use the accordion component to show hidden information based on the collapse and expand state of the child elements using data attribute optionsNoYesYes A controller for multiple collapsible elements, allowing either one open panel at a time or infinite.Yes Divide content into collapsible sections.Yes
AvatarYes Use the avatar component to show a visual representation of a user profile using an image element or SVG object based on multiple styles and sizesNoYes and AvatarGroupNoYes Display user avatars with an image or initials.No
BadgeYes Use Tailwind CSS badges as elements to show counts or labels separately or inside other componentsYesYesYes A distinctive colored circle to bring attention to an element.NoYes square badge, custom color...
CardYes Get started with a large variety of Tailwind CSS card examples for your web projectNoYesYes A surface that stands out.NoYes with media, with actions, with a list...
CarouselYes Use the carousel component to slide through multiple elements and images using custom controls, indicators, intervals, and optionsNoYesNoNoNo
Conic GradientsNoNoNoNoYes Create conic gradient data visualizations for pie charts, loading spinners, and more.No
DotNoNoNoYes A colorful dot to signal about all your important events.No
DividerNoYes Horizontal line with optional label or vertical divider, with label...YesYes A thin horizontal line used to separate sections and group content, with optional text to display in the middle.Yes Horizontal or vertical rules for sectioning your content.No
DropdownYes to show a list of menu items when clicking on the trigger element based on multiple layouts, styles, and placementsNoYesYes Toggleable, contextual overlays for displaying additional details or actions.NoNo
ImageYes The image component can be used to embed images inside the web page in articles and sections based on multiple styles, sizes, layouts and hover animations (image effects...)Yes Image with optional placeholder for loading and error state, BackgroundImage, radius...NoNoYes
Image Lists / GalleryNoNoNoYes available : Masonry, with rounded shapes
KbdYes Use the KBD component as an inline element to denote textual user input from the keyboard inside paragraphs, tables, and other componentsYes Display keyboard button or keys combinationNoNoNoNo
List GroupYes Use the list group component to display a series of items, buttons or links inside a single element, with links, with icons...NoYesNoYesYes
PopoverYes Use the popover component to show detailed information inside a pop-up box relative to the element that is being clicked or hovered based on multiple styles (Image popover, progress popover...)NoNoYes Extra content revealed on hover or focus within.NoNo
RatingYes Use the rating component to show reviews and testimonials from your users using stars and scores based on multiple styles and sizesNoYesYes An input element used for rating with a number of stars.NoNo
TableYes Use the table component to show text, images, links, and other elements inside a structured set of data made up of rows and columns of table cells (Checkboxes, search input, table foot, table caption, colors..)No- This component is still a work in progress and is subject to change.YesYes Utilize a data-driven model to create simple presentational tables. A set of utility features for creating template-driven data tables.Yes Progress indicator, Sticky header, Row selection, Pagination, Sortable...
ThemeIconYes You can uses Svelte-Heros-v2 and other icon sets for Flowbite-Svelte. Svelte-Heros-v2 icons allow you to change the icon color, size, and other props.Yes Render icon inside element with theme colorsNoNoNo
TimelineYes Get started with the responsive timeline component to show data in a chronological order with support for multiple styles, sizes, and variants (vertical timeline, horizontal timeline, activity log...)Yes Display list of events in chronological orderYes Steps, TimelineNoYes Steppers: Divide and present content in sequenced steps. This Step component uses the locked property, which can prevent progress.No
TypographyYes Use the typography and the utility classes from Tailwind CSS to style text with FlowBiteYes Display text and links with theme styles or gradientYesYesYes Gradient HeadingsYes
VideoYes Use the video component to configure an embedded video player using native HTML 5 functionality based on the utility classes from Tailwind CSS (responsive, autoplay, custom styles: rounded corners...)NoNoNoNoNo
Inputs & Actions
AutocompleteNoYesYes A text field suggesting options to select.NoYes
ButtonYes Use the button component inside forms, as links, social login, payment options with support for multiple styles, colors, sizes, gradients, and shadowsYesYesYes A clickable entity for all your controlling and linking needs. Comes in three flavours: filled, outline and flat.NoYes Floating Action Button, Icon Button, Segmented Button...
Button GroupYes Button groups are a Tailwind CSS powered set of buttons sticked together in a horizontal lineYesNoYes
CheckboxYes The checkbox component can be used to receive one or more selected options from the user in the form of a square box available in multiple styles, sizes, colors, and variants coded with the utility classes from Tailwind CSS and with support for dark mode. (checkbox with a link, helper text, colors...)Yes Custom icon, Indeterminate checkbox, 5 predefined sizes...YesYes Make the checkbox round (and slightly larger).NoYes
CheckboxGroupYes Vertical or Horizontal list group, advanced layout...YesYesYes A group of checkboxes from an array of items to select.NoYes
ChipYes Pick one or multiple values (States, ChipGroup)YesYes Tiny piece of additional information.NoYes
FileDropzoneYesNoNoYes A large, prominent area for uploading files either by clicking or by dragging them into the area.Yes Allow upload of files with drag and drop.No
FileInputYes The file input component can be used to upload one or more files from the device storage of the user available in multiple sizes, styles, variants and support for dark mode. (Multiple files, Helper text...)NoNoYes A regular file input matching the theme of the kit. Comes with buttons to select and deselect files.Yes FileButton : Allows you to select files with a single click.No
Floating LabelYes Use the floating label style for the input field elements to replicate the Material UI design system from Google and choose from multiple styles and sizesNoNoNoNoNo
FormFieldYes A responsive form field skeleton – providing a way to label and describe the field. Note that this component doesn't add any form handling capabilities; it is merely presentational.No
InputYes Input element with iconYes render an icon, TextInput...YesNo
InputWrapperYes InputWrapper is used to wrap all SvelteUI inputsNo
ListboxesYes Interactive listboxes that maintain selection state.No
NumberInputYesYes Number input with optional controlsYesNoNoNo
Radio ButtonYes to let the user choose a single option from multiple options in the form of a circle based on multiple styles and colorsYesNoNoYes
RadioGroupYesYesYesYes Capture feedback limited to a small set of options.
RangeYes to receive a number from the user anywhere from 1 to 100 by sliding form control horizontally based on multiple optionsNoYes An slider for selecting a value or a range.Yes Capture input from a range of values, including optional ticks.Yes
Search InputYes Use the search input component as a text field to allow users to enter search queries and receive relevant page results available in multiple styles and sizesNoNoNo
SelectYes to allow the user to choose from one or more options from a dropdown list based on multiple styles, sizes, and variantsYes NativeSelect : Capture user feedback limited to large set of optionsYesNoNoYes
Speed DialYes The speed dial component can be used as a quick way to show a list of action buttons to a user when hovering or clicking on the main trigger element.NoNoNoNoNo
Slider- see Range componentNoYes Step and Show StepYes An slider for selecting a value or a range.NoYes
Switch ToggleYes Use the toggle component to switch between a binary state of true or false using a single click available in multiple sizes, variants, and colorsYes Capture boolean input from user, Inner labels and SizeYesYesYes A sliding toggle element that can capture input from a user.Yes
TextareaYesNo- beta versionNoNoNo
TextInputYesYes Text input with descriptions, with icon, right section...YesNoYes
UnstyledButtonYes Render button with no theme colors
DatePicker- experimental component and only works with SvelteKit.NoYesYes A date picker that supports both text input and a dropdown calendar.NoNo
TimePickerNoNoNoYes A time picker that supports both the text input and a dropdown with buttons.NoNo
CalendarNo- coming soonNoYes A calendar component representing a month with selectable days.NoNo
AlertYes Show contextual information to your users using alert elements based on Tailwind CSSYes Attract user attention with an important messageYesNoYes Display customizable alerts to garner attention and provide critical actions.No
LoadingNoYes Indicate loading stateNoYesNoNo
Notification / ToastsYes Push notifications to your users using the toast component and choose from multiple sizes, colors, styles, and positionsYes Attract user attention with an important message (with icon...)YesNoYes Simple notifications utilizing a dynamic queue system.No
SnackbarNoNoNoYes A small snackbar to display status messages.NoYes
SnackbarContainerNoNoNoYes The wrapper element creating a context to show snackbars.No
Linear ProgressYes Use the progress bar component to show the completion rate of a data indicator or use it as a loader element (with label inside, outside...colors...)Yes Give user feedback for status of the taskYesNoYes An indicator showing the progress or completion of a task.Yes
Progress Radials / Circular ProgressNoNoYesNoYes Displays a radial indicator showing the progress or completion of a task.Yes Circular Progress
SkeletonYes The skeleton component can be used as an alternative loading indicator to the spinner by mimicking the content that will be loaded such as text, images, or videoYes Indicate content loading stateNoNoNoNo
SpinnerYes Use the spinner component as a loader indicator in your projects when fetching data based on an animated SVGNoNoNoNoNo
Affix- Sticky navbarYes Render Svelte component inside portal at fixed positionNoNoNo
MenuYes Use the mega menu component as a full-width dropdown inside the navbar to show a list of menu items based on multiple sizes, variants, and styles. (with icons, images...)Yes Combine a list of secondary actions into single interactive area, icon, hover...YesNoYes Provides quick context menus when you tap the trigger element.Yes and Menu Surface
ModalYes Use the modal component to show interactive dialogs and notifications to your website users available in multiple sizes, colors, and stylesYes Modal with optional headerYesYes An overlay allowing any modal content to appear on the screen prominently. Works well with the Dialog component.Yes High priority dialogs and modals using a dynamic queue system.Yes
DialogYesYesYesYes A modal window that informs users about a task and can contain critical information or require actions.Yes High priority dialogs and modals using a dynamic queue system.Yes
OverlayNoYes Overlays given element with div element with any color and opacityNoNoNoNo
TooltipYes Use the following Tailwind CSS powered tooltips to show extra content when hovering or focusing on an element (Tooltip arrow, colors...)Yes Renders tooltip at given element on mouse over or any other event (Tooltip arrow...)YesNoYes Informative tooltips that render on mouse over.Yes
Code blocksYes Prism : Code highlight with SvelteUI theme colors and stylesNoYes Displays pre-formatted source code, with optional support for Highlight.js syntax highlighting.No
ColorsYes Choose your primary color in tailwind.config.cjs fileNoNoNoNo
Close ButtonYes The CloseButton components are used throughout the library and you can use it for your app as wellNoNoNoNoNo
LabelYes The Label components are used throughout the library and you can use it for your app as wellNoNoNoYes "Common" component
Local Storage StoreNoNoYes An extended version of the Svelte writable store that includes pub/sub to local storage.No
ToolbarYes Use the following Tailwind CSS powered toolbars to show groups of tool buttonsNoNoNoNo
Svelte Actions / Hooks Library
use-moveNoYes Handles the movement of an element based on mouse and touch eventsNoNoNoNo
use-clipboardNoYes Copies text to the clipboard when DOM element is clickedYesNoYes Allows you to quickly copy select data to the clipboard.No
use-focus-trapNoYes Traps the focus inside the given DOM nodeNoNoYes Allows you to contain focus within elements on-demand.No
Image FiltersNoNoNoNoYes Applies a set of unique SVG filters. Best used with images, but also available to select components, such as Avatars.No
Best Svelte UI components libraries comparison table
Jan. 1st 2023 8:10:10 AM
View changes
Manage backups

User reviews and comments

No comments yet. Be the first to leave your review.