Font Awesome Build Awesome
Try SSR Server-side rendering (SSR) generates component HTML on the server before the page loads, improving SEO and initial load time. Use the switch to see Web Awesome components render with and without SSR.
Search this website ⌘KCtrl+K Light Dark System Docs Select Color Scheme View Project on GitHub Star Project on GitHub
Start Components Docs Help
Login Log into your account
Web Awesome Font Awesome Build Awesome
Search this site… /
Try SSR Server-side rendering (SSR) generates component HTML on the server before the page loads, improving SEO and initial load time. Use the switch to see Web Awesome components render with and without SSR.
Light Dark System Docs Select Color Scheme

Getting Started

  • Installation
  • Usage
  • Forms
  • Localization
  • Frameworks
  • Using with AI
  • Figma Design Kit ProThis requires access to Web Awesome Pro
  • Server Rendering

Resources

  • Accessibility
  • Browser Support
  • Contributing
  • Patterns ProPatterns require access to Web Awesome Pro
  • Migrating from Shoelace
  • Visual Tests
  • Changelog
  • Help & Support

Theming & Utilities

  • Overview
  • Built-in Themes
  • Color Palettes
  • Design Tokens
  • Customizing & Theming
  • CSS Utilities

Components

  • Accordion
    • Accordion Item
  • Animated Image
  • Avatar
  • Badge
  • Breadcrumb
    • Breadcrumb Item
  • Button
  • Button Group
  • Callout
  • Card
  • Carousel
    • Carousel Item
  • Comparison
  • Copy Button
  • Date Picker ProThis requires access to Web Awesome Pro
  • Details
  • Dialog
  • Divider
  • Drawer
  • Dropdown
    • Dropdown Item
  • Icon
  • Page
  • Progress Bar
  • Progress Ring
  • QR Code
  • Scroller
  • Skeleton
  • Spinner
  • Split Panel
  • Tab Group
    • Tab
    • Tab Panel
  • Tag
  • Toast ProThis requires access to Web Awesome Pro
    • Toast Item ProThis requires access to Web Awesome Pro
  • Tooltip
  • Tree
    • Tree Item
  • Video ProThis requires access to Web Awesome Pro
  • Video Playlist ProThis requires access to Web Awesome Pro
  • Zoomable Frame

Data Visualization ProData Visualization components require access to Web Awesome Pro

  • Bar Chart
  • Line Chart
  • Bubble Chart
  • Doughnut Chart
  • Pie Chart
  • Polar Area Chart
  • Radar Chart
  • Scatter Chart
  • Sparkline
  • Advanced Usage

Form Controls

  • Checkbox
  • Color Picker
  • Combobox ProThis requires access to Web Awesome Pro
  • Data Grid Planned A Web Awesome Kickstarter stretch goal!
  • Date Input ProThis requires access to Web Awesome Pro
  • File Input ProThis requires access to Web Awesome Pro
  • Input
  • Known Date
  • Number Input
  • Radio Group
    • Radio
  • Rating
  • Select
    • Option
  • Slider
  • Switch
  • Textarea
  • Time Input

Utility Components

  • Animation
  • Format Bytes
  • Format Date
  • Format Number
  • Include
  • Intersection Observer
  • Markdown
  • Mutation Observer
  • Popover
  • Popup
  • Relative Time
  • Resize Observer

Legal Stuff

  • Web Awesome Core License
  • Web Awesome Pro License
  • Terms of Service
  • Privacy Policy
  • Refund Policy
  • Data Processing Agreement

Web Awesome

v3.8.0 Go make something awesome © Fonticons, Inc.

Web Awesome Elsewhere

Build with Over 80 Components

Browse the library of customizable, framework-friendly web components included in Web Awesome.

All Free Pro All Categories Actions Forms Layout Navigation Feedback Media Data Viz Helpers Experimental Name Release Date
Experimental components are for development/testing purposes. They may be subject to change.

Sort by name or release date

Accordion

<wa-accordion>

Accordions are a vertically stacked set of interactive headings that each contain a title, representing a section of content.

Experimental Since 3.7

Accordion Item

<wa-accordion-item>

Accordion items are used inside <wa-accordion> to create expandable sections with accessible headers.

Experimental Since 1.0

Animated Image

<wa-animated-image>

Animated images display GIFs and WEBPs with controls to play and pause them on demand. Use them when you want motion but need to give users control over when it plays.

Stable Since 2.0

Animation

<wa-animation>

Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the Web Animations API.

Stable Since 2.0

Avatar

<wa-avatar>

Avatars represent a person or object with an image, initials, or icon. Use them in lists, comments, and profiles to give users visual context at a glance.

Stable Since 2.0

Badge

<wa-badge>

Badges draw attention to adjacent content by displaying a status, count, or label. Use them to highlight notifications, categorize items, or flag new activity.

Stable Since 2.0

Bar Chart

<wa-bar-chart>
ProThis requires access to Web Awesome Pro

Bar charts compare quantities across categories using rectangular bars. They work well for showing rankings, highlighting differences between groups, and tracking changes across time periods.

Stable Since 3.3

Breadcrumb

<wa-breadcrumb>

Breadcrumbs display a trail of links that show users where they are in a site's hierarchy. They help users understand the current location and navigate back to parent pages.

Stable Since 2.0

Breadcrumb Item

<wa-breadcrumb-item>

Breadcrumb items represent individual links inside a breadcrumb, typically one per level of the site hierarchy.

Stable Since 2.0

Bubble Chart

<wa-bubble-chart>
ProThis requires access to Web Awesome Pro

Bubble charts add a third dimension to scatter plots by varying the size of each data point. They are useful for visualizing relationships where a third variable adds meaning beyond a simple x/y correlation.

Stable Since 3.3

Button

<wa-button>

Buttons represent actions the user can take, such as submitting a form, opening a dialog, or navigating to another page.

Stable Since 2.0

Button Group

<wa-button-group>

Button groups combine related buttons into a single visual unit. Use them for toolbars, segmented controls, or any set of actions that belong together.

Stable Since 2.0

Callout

<wa-callout>

Callouts display important messages inline with surrounding content. Use them to highlight tips, warnings, errors, or other information users should not miss.

Stable Since 3.0

Card

<wa-card>

Cards group related content and actions inside a bordered container. Use them to present products, articles, user profiles, or any self-contained unit of information.

Stable Since 2.0

Carousel

<wa-carousel>

Carousels display a series of content slides along a horizontal or vertical axis, one or more at a time. Users can navigate between slides with controls, pagination, or autoplay.

Experimental Since 2.2

Carousel Item

<wa-carousel-item>

Carousel items represent individual slides within a carousel.

Experimental Since 2.0

Chart

<wa-chart>
ProThis requires access to Web Awesome Pro

Charts provide a flexible wrapper around Chart.js for building themed data visualizations. Use this component for advanced configuration such as mixed chart types, custom plugins, and direct Chart.js instance access.

Stable Since 3.3

Checkbox

<wa-checkbox>

Checkboxes let users toggle an option on or off, or select multiple items from a list. They also support an indeterminate state for partial selections in groups.

Stable Since 2.0

Color Picker

<wa-color-picker>

Color pickers let users choose a color from a visual palette or by entering a value. They support HEX, RGB, HSL, and HSV formats with optional alpha channel and swatch presets.

Stable Since 2.0

Combobox

<wa-combobox>
ProThis requires access to Web Awesome Pro

Comboboxes combine a text input with a listbox, allowing users to filter and select from predefined options or enter custom values.

Stable Since 3.1

Comparison

<wa-comparison>

Comparisons show the visual differences between two pieces of similar content using a draggable divider. Use them for before/after images, design revisions, or side-by-side previews.

Stable Since 2.0

Copy Button

<wa-copy-button>

Copy buttons copy text to the clipboard when the user activates them. They provide built-in success and error feedback so users know the copy worked.

Stable Since 3.6

Date Input

<wa-date-input>
ProThis requires access to Web Awesome Pro

Date inputs let users enter a date through a segmented field or select one visually from a popup calendar. They support locale-aware segment order, min and max constraints, and form validation.

Experimental Since 3.8

Date Picker

<wa-date-picker>
ProThis requires access to Web Awesome Pro

Date pickers display a month grid for selecting a single date or a date range inline. Use them when dates need to remain visible, such as in scheduling interfaces or embedded inside another form control.

Experimental Since 3.8

Details

<wa-details>

Details display a brief summary and expand to reveal additional content. Use them to progressively disclose information, group related FAQs, or hide advanced options.

Stable Since 2.0

Dialog

<wa-dialog>

Dialogs appear above the page and require the user's immediate attention. Use them for confirmations, forms, or focused tasks that interrupt the main flow.

Stable Since 2.0

Divider

<wa-divider>

Dividers visually separate or group adjacent elements with a horizontal or vertical line. Use them to establish rhythm and hierarchy within menus, toolbars, and layouts.

Stable Since 2.0

Doughnut Chart

<wa-doughnut-chart>
ProThis requires access to Web Awesome Pro

Doughnut charts show proportional data as slices of a ring with a hollow center. They offer a cleaner look than pie charts and work well in dashboards where the center space can provide additional context.

Stable Since 3.3

Drawer

<wa-drawer>

Drawers slide in from the edge of a container to expose additional options and information without navigating away. Useful for navigation menus, filters, and secondary content.

Stable Since 2.0

Dropdown

<wa-dropdown>

Dropdowns display a list of options triggered by a button or other element. They support keyboard navigation, submenus, and checkable items for building menus and context actions.

Stable Since 2.0

Dropdown Item

<wa-dropdown-item>

Dropdown items represent selectable entries within a dropdown menu, including standard actions, checkable items, and submenu triggers.

Stable Since 3.0

File Input

<wa-file-input>
ProThis requires access to Web Awesome Pro

File inputs allow users to select files from their device.

Stable Since 3.2

Format Bytes

<wa-format-bytes>

Formats a number of bytes as a human-readable string with the appropriate unit, such as kB, MB, or GB. Supports both byte and bit units with configurable locale.

Stable Since 2.0

Format Date

<wa-format-date>

Formats a date or time for display using the specified locale and options. Powered by the Intl.DateTimeFormat API for consistent, localized output.

Stable Since 2.0

Format Number

<wa-format-number>

Formats a number for display using the specified locale and options, including currency, percent, and unit styles. Powered by the Intl.NumberFormat API.

Stable Since 2.0

Icon

<wa-icon>

Icons are scalable vector symbols that represent actions, content, or status throughout your application. They support Font Awesome and custom icon libraries with animation presets.

Stable Since 2.0

Include

<wa-include>

Fetches an external HTML file and embeds its contents inline on the page. Useful for reusing shared markup like headers, footers, and partials across multiple pages.

Stable Since 2.0

Input

<wa-input>

Inputs collect single-line data from the user, such as text, numbers, email addresses, and passwords. They support labels, hints, validation, and prefix or suffix slots.

Stable Since 2.0

Intersection Observer

<wa-intersection-observer>

Tracks immediate child elements and fires events as they move in and out of view. Useful for lazy loading, scroll-triggered animations, and viewport-aware interactions.

Stable Since 2.0

Known Date

<wa-known-date>

Known dates let users enter dates they already know — birthdays, expirations, document dates — through three separate day, month, and year fields shown in the locale's natural order.

Experimental Since 3.8

Line Chart

<wa-line-chart>
ProThis requires access to Web Awesome Pro

Line charts show trends over time by connecting data points with line segments. Use them when the x-axis represents a sequential dimension and you want to emphasize the shape and direction of the data.

Stable Since 3.3

Markdown

<wa-markdown>

Markdown elements render markdown content as HTML directly in the browser, making it easy to display user-generated content or documentation without a server-side build step.

Experimental Since 3.4

Mutation Observer

<wa-mutation-observer>

Mutation observers watch for changes to an element's DOM tree and emit an event when they occur. Provides a thin, declarative interface to the browser's MutationObserver API.

Stable Since 2.0

Number Input

<wa-number-input>

Number inputs let users enter and edit numeric values, with optional stepper buttons for incrementing and decrementing. Use them for quantities, measurements, and other numeric form fields.

Stable Since 3.2

Option

<wa-option>

Options represent the individual choices inside a select or similar form control. Each option holds a value and the label shown to the user.

Stable Since 2.0

Page

<wa-page>

Pages scaffold an entire application layout with header, navigation, sidebar, main content, aside, and footer regions. Use them to structure full pages with minimal markup and responsive behavior built in.

Stable Since 3.0

Pie Chart

<wa-pie-chart>
ProThis requires access to Web Awesome Pro

Pie charts show the proportional composition of a whole as slices of a circle. They work best with a small number of categories where the relative proportions matter more than exact values.

Stable Since 3.3

Polar Area Chart

<wa-polar-area-chart>
ProThis requires access to Web Awesome Pro

Polar area charts compare values using segments that radiate from a center point with varying radius. Unlike pie charts, each segment has an equal angle while the radius varies, making them useful for comparing magnitudes without visual bias.

Stable Since 3.3

Popover

<wa-popover>

Popovers display contextual content and interactive elements in a floating panel anchored to a trigger. Use them for rich tooltips, menus, or any content that appears on demand without navigating away.

Stable Since 3.0

Popup

<wa-popup>

Popups declaratively anchor one element to another and keep them positioned together as the page scrolls or resizes. Primarily a low-level building block for popovers, dropdowns, and tooltips.

Stable Since 2.0

Progress Bar

<wa-progress-bar>

Progress bars show how far along an ongoing operation is as a horizontal fill. Use them for file uploads, multi-step flows, or any task with measurable progress.

Stable Since 2.0

Progress Ring

<wa-progress-ring>

Progress rings show how far along a determinate operation is using a circular indicator. Use them as a compact alternative to progress bars when horizontal space is limited.

Stable Since 2.0

QR Code

<wa-qr-code>

QR codes encode a URL or other short text into a scannable image, rendered client-side using the Canvas API. Use them to share links, contact info, or Wi-Fi credentials that visitors can scan with a phone.

Stable Since 2.0

Radar Chart

<wa-radar-chart>
ProThis requires access to Web Awesome Pro

Radar charts compare multiple variables at once by plotting data on a radial grid. They are well-suited for comparing profiles across several dimensions, such as skill assessments, product attributes, or performance metrics.

Stable Since 3.3

Radio

<wa-radio>

Radios represent a single option within a mutually exclusive set. Use them inside a radio group when users must pick exactly one choice from a small list.

Stable Since 2.0

Radio Group

<wa-radio-group>

Radio groups wrap a set of radios so they function as a single form control with one shared value. They handle keyboard navigation, labeling, and validation for the group as a whole.

Stable Since 2.0

Rating

<wa-rating>

Ratings display a numeric score as a row of selectable symbols, typically stars. Use them to capture quick feedback or show an average rating for a product or piece of content.

Stable Since 2.0

Relative Time

<wa-relative-time>

Relative times display a date as a localized phrase relative to now, such as "3 hours ago" or "in 2 days". The phrase updates automatically as time passes and respects the user's locale.

Stable Since 2.0

Resize Observer

<wa-resize-observer>

Resize observers watch their slotted elements for size changes and emit an event when they occur. Provides a thin, declarative interface to the browser's ResizeObserver API.

Stable Since 2.0

Scatter Chart

<wa-scatter-chart>
ProThis requires access to Web Awesome Pro

Scatter charts reveal relationships between two variables by plotting data points on a grid. They are ideal for identifying correlations, clusters, and outliers in datasets.

Stable Since 3.3

Scroller

<wa-scroller>

Scrollers wrap overflowing content in an accessible container with visual cues that help users recognize and navigate scrollable regions.

Stable Since 3.0

Select

<wa-select>

Selects let users choose one or more values from a dropdown list of predefined options. Use them in forms when a fixed set of choices needs to fit in limited space.

Stable Since 2.0

Skeleton

<wa-skeleton>

Skeletons show placeholder shapes where content will appear once it finishes loading, reducing perceived wait time and preventing layout shift.

Stable Since 2.0

Slider

<wa-slider>

Sliders let users choose a numeric value within a defined range by dragging a thumb along a track.

Stable Since 2.0

Sparkline

<wa-sparkline>
ProThis requires access to Web Awesome Pro

Sparklines display inline data trends as compact, visual charts.

Stable Since 3.2

Spinner

<wa-spinner>

Spinners indicate that an operation is in progress when the duration is unknown. Use them for loading states where a determinate progress bar isn't practical.

Stable Since 2.0

Split Panel

<wa-split-panel>

Split panels display two adjacent panels separated by a draggable divider, letting users resize each side to suit their workflow.

Stable Since 2.0

Switch

<wa-switch>

Switches toggle a single setting on or off and apply the change immediately, without requiring a form submission.

Stable Since 2.0

Tab

<wa-tab>

Tabs label and activate an individual panel inside a tab group.

Stable Since 2.0

Tab Group

<wa-tab-group>

Tab groups organize related content into a single container that displays one panel at a time, with tabs for switching between them.

Stable Since 2.0

Tab Panel

<wa-tab-panel>

Tab panels hold the content shown for a single tab inside a tab group.

Stable Since 2.0

Tag

<wa-tag>

Tags label, categorize, or represent selections with a compact visual marker. Use them for status indicators, filters, or removable chips.

Stable Since 2.0

Textarea

<wa-textarea>

Textareas collect multi-line text input from the user, with optional resizing and character counting.

Stable Since 2.0

Time Input

<wa-time-input>

Time pickers let users enter a time through a segmented field or select one visually from a popup column picker. They support 12- and 24-hour formats, optional seconds, and locale-aware segment order.

Experimental Since 3.8

Toast

<wa-toast>
ProThis requires access to Web Awesome Pro

Toasts display brief, non-blocking notifications that appear temporarily above the page content.

Stable Since 3.3

Toast Item

<wa-toast-item>
ProThis requires access to Web Awesome Pro

Toast items are individual notifications displayed within a toast container.

Stable Since 3.3

Tooltip

<wa-tooltip>

Tooltips display brief contextual information when the user hovers, focuses, or taps a target element.

Stable Since 2.0

Tree

<wa-tree>

Trees allow you to display a hierarchical list of selectable tree items. Items with children can be expanded and collapsed as desired by the user.

Stable Since 2.0

Tree Item

<wa-tree-item>

Tree items represent a single hierarchical node inside a tree, and can contain nested items that expand and collapse.

Stable Since 2.0

Video

<wa-video>
ProThis requires access to Web Awesome Pro

Videos are used to embed and play video content with custom controls and captions.

Experimental Since 3.7

Video Playlist

<wa-video-playlist>
ProThis requires access to Web Awesome Pro

Video playlists wrap multiple <wa-video> elements into a playlist with navigation controls.

Experimental Since 3.7

Zoomable Frame

<wa-zoomable-frame>

Zoomable frames embed iframe content with built-in controls for zooming, panning, and managing interaction.

Stable Since 3.0

Can't Find a Component?

Perhaps we don't have it yet. Let us and the community know what you'd like to see — it may just get created.

Suggest a Component

No Components Found

Try a different search term or clear some of your filters. If you're looking for a specific component, you can suggest it to the team and the community.

Clear Search + Filters Suggest a Component

Go Make Something Awesome!

Web Awesome is the design system platform and open source library of web components from your fellow nerds at Font Awesome.

Made with and <wa-dialog> in New Hampshire, Providence, The Poconos, The Ozarks, and Boston.

Project

  • GitHub
  • Discord
  • Kickstarter Campaign
  • Changelog

Awesomeverse

  • Font Awesome
  • 11ty
  • Podcast Awesome
  • Blog Awesome

Special Thanks

  • 11ty
  • Lit
  • CEM Analyzer
  • Floating UI
  • Animate.css
  • Terms of Service
  • Privacy Policy
  • Refunds
  • Pro License
  • Contact Us
  • Cookie Preferences

© Fonticons, Inc.

Quick Links

  • Components
  • CSS Utilities
  • Theming
  • Using with AI
  • Changelog
  • Help & Support

Recent Searches

    D'oh! No results for “”

    Suggest on GitHub Ask on Discord
    Navigate Select
    Close Esc

    We Have Cookies…

    We use cookies to make webawesome.com work better by storing limited information about your usage.

    We value your privacy, so we won't use them for evil or ask you to join the dark side.

    Customize
    Necessary Only Accept All
    Strictly Necessary
    Required to make the site function correctly — cannot be turned off
    Functionality Analytics
    Cancel Confirm Cookie Choices