Compare Sizes
Register
Français Español

Best Svelte UI Components Libraries

7

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.

Link
Flowbite SvelteSvelteui.orgSTWUIAttractionsSkeletonSvelte Material UISVAR Svelte Core
Description

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.SVAR Svelte Core is an open-source UI library offering essential controls for building interactive and high-performance Svelte projects. It includes everything from simple elements like buttons, checkboxes, and radio buttons to more complex components like date pickers, combo boxes, select boxes, and popups.
Websiteflowbite-svelte.comsvelteui.orgvercel.appgithub.io/...skeleton.devsveltematerialui.comsvar.dev/...
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 AMAug. 12th 2024 11:54:50 AM
Layout
AppShell- Navbar, Sidebar, Footer components...Yes Responsive shell for your application with header, navbar, sidebar, and footerNoNoYes Responsive shell for controlling application layout.NoNo
ContainerNoYes Center content horizontally with predefined max-widthNoNoNoNoNo
CenterYes Centers content vertically and horizontallyNoNoNoNo
Dark Mode / LightswitchYesNoNoNoYes Allows users to toggle between light and dark themes using Tailwind's dark mode feature.NoYes Comes with Light and Dark skins
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.No
GridNoYes Flexbox grid with variable amount of columnsYesNoNoYesNo
GroupNoYes Compose elements and components in a horizontal flex containerNoNoNoNoNo
MediaQueryNoYes Apply styles to children if media query matchesNoNoNoNo
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 BarNo
SimpleGridNoYes Responsive grid where each item takes equal amount of spaceNoNoNoNo
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 componentNoYes Side area component sliding out on button click
SpaceNoYes Add horizontal or vertical spacing from themeNoNoNoNoNo
StackNoYes Compose elements and components in vertical flex containerNoNoNoNoNo
Navigation
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 stylesNoNoNoNo
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.NoNo
BurgerNoYes The Burger component renders an open/close menu button.Yes SwapNoNoNoNo
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.YesNo
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.NoYes
SeoNoYes Manage your SEO informationNoNoNoNoNo
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.YesYes
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.YesNo
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.NoNo
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...No
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...No
CarouselYes Use the carousel component to slide through multiple elements and images using custom controls, indicators, intervals, and optionsNoYesNoNoNoNo
Conic GradientsNoNoNoNoYes Create conic gradient data visualizations for pie charts, loading spinners, and more.NoNo
DotNoNoNoYes A colorful dot to signal about all your important events.NoNo
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.NoNo
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.NoNoYes
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...NoNoYesNo
Image Lists / GalleryNoNoNoYes available : Masonry, with rounded shapesNo
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 combinationNoNoNoNoNo
List GroupYes Use the list group component to display a series of items, buttons or links inside a single element, with links, with icons...NoYesNoYesYesNo
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.NoNoNo
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.NoNoNo
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...Yes the ability to use SVAR DataGrid component (paid)
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 colorsNoNoNoNo
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.NoNo
TreeViewNoNoNoNoNoNoNo
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 HeadingsYesNo
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...)NoNoNoNoNoNo
Inputs & Actions
ActionIconYesYesYesNoNoNoNo
AutocompleteNoYesYes A text field suggesting options to select.NoYesYes
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...Yes
Button GroupYes Button groups are a Tailwind CSS powered set of buttons sticked together in a horizontal lineYesNoYesYes
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).NoYesYes
CheckboxGroupYes Vertical or Horizontal list group, advanced layout...YesYesYes A group of checkboxes from an array of items to select.NoYesYes
ChipYes Pick one or multiple values (States, ChipGroup)YesYes Tiny piece of additional information.NoYesNo
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.NoYes
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.NoYes
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 sizesNoNoNoNoNoNo
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.NoYes
InputYes Input element with iconYes render an icon, TextInput...YesNoYes
InputWrapperYes InputWrapper is used to wrap all SvelteUI inputsNoNo
ListboxesYes Interactive listboxes that maintain selection state.NoNo
NumberInputYesYes Number input with optional controlsYesNoNoNoNo
Radio ButtonYes to let the user choose a single option from multiple options in the form of a circle based on multiple styles and colorsYesNoNoYesYes
RadioGroupYesYesYesYes Capture feedback limited to a small set of options.Yes
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.YesYes A slider for selecting numbers
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 sizesNoNoNoNo
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 optionsYesNoNoYesYes
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.NoNoNoNoNoNo
Slider- see Range componentNoYes Step and Show StepYes An slider for selecting a value or a range.NoYesYes
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.YesYes
TextareaYesNo- beta versionNoNoNoNo
TextInputYesYes Text input with descriptions, with icon, right section...YesNoYesYes
UnstyledButtonYes Render button with no theme colorsYes
Dates
DatePicker- experimental component and only works with SvelteKit.NoYesYes A date picker that supports both text input and a dropdown calendar.NoNoYes
TimePickerNoNoNoYes A time picker that supports both the text input and a dropdown with buttons.NoNoYes
CalendarNo- coming soonNoYes A calendar component representing a month with selectable days.NoNoYes
Feedback
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.NoYes
LoadingNoYes Indicate loading stateNoYesNoNoNo
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.NoYes
SnackbarNoNoNoYes A small snackbar to display status messages.NoYesNo
SnackbarContainerNoNoNoYes The wrapper element creating a context to show snackbars.NoNo
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.YesNo
Progress Radials / Circular ProgressNoNoYesNoYes Displays a radial indicator showing the progress or completion of a task.Yes Circular ProgressNo
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 stateNoNoNoNoNo
SpinnerYes Use the spinner component as a loader indicator in your projects when fetching data based on an animated SVGNoNoNoNoNoNo
Overlay
Affix- Sticky navbarYes Render Svelte component inside portal at fixed positionNoNoNoNo
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 SurfaceNo
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.YesYes
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.YesYes
OverlayNoYes Overlays given element with div element with any color and opacityNoNoNoNoYes
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.YesNo
Utils
Code blocksYes Prism : Code highlight with SvelteUI theme colors and stylesNoYes Displays pre-formatted source code, with optional support for Highlight.js syntax highlighting.NoNo
ColorsYes Choose your primary color in tailwind.config.cjs fileNoNoNoNoNo
Close ButtonYes The CloseButton components are used throughout the library and you can use it for your app as wellNoNoNoNoNoNo
LabelYes The Label components are used throughout the library and you can use it for your app as wellNoNoNoYes "Common" componentNo
Local Storage StoreNoNoYes An extended version of the Svelte writable store that includes pub/sub to local storage.NoNo
ToolbarYes Use the following Tailwind CSS powered toolbars to show groups of tool buttonsNoNoNoNoNo
Svelte Actions / Hooks Library
use-moveNoYes Handles the movement of an element based on mouse and touch eventsNoNoNoNoNo
use-clipboardNoYes Copies text to the clipboard when DOM element is clickedYesNoYes Allows you to quickly copy select data to the clipboard.NoNo
use-focus-trapNoYes Traps the focus inside the given DOM nodeNoNoYes Allows you to contain focus within elements on-demand.NoNo
Image FiltersNoNoNoNoYes Applies a set of unique SVG filters. Best used with images, but also available to select components, such as Avatars.NoNo
Like
4
6
1
1
2
0
0
Embed
Best Svelte UI components libraries comparison table
Frameworks
English
Public
Public
Aug. 12th 2024 11:55:13 AM
View changes
Manage backups

User reviews and comments

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