# gluestack/gluestack-ui

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gluestack-gluestack-ui).**

4,931 stars · 215 forks · TypeScript

## Links

- GitHub: https://github.com/gluestack/gluestack-ui
- Homepage: https://gluestack.io/
- awesome-repositories: https://awesome-repositories.com/repository/gluestack-gluestack-ui.md

## Topics

`accessibility` `component-library` `customizable-components` `design-system` `react` `react-native` `styled-components` `ui` `ui-components` `universal-components`

## Description

gluestack-ui is a cross-platform React component library built with Tailwind CSS. It provides over 30 pre-built, accessible components that can be installed by copying their source files directly into a project, giving developers full control over customization without external runtime dependencies. Every component implements WAI-ARIA patterns, keyboard navigation, and screen reader support out of the box.

A key differentiator is the copy-paste architecture: rather than a traditional package dependency, component source code is placed in the project, allowing direct editing and eliminating version lock-in. The library also features built-in enter/exit animations triggered by React lifecycle hooks, a centralized theme system using design tokens with dark mode support, and utility-first styling via Tailwind CSS classes that work consistently across web and mobile. Additional capabilities include server-side rendering with style flushing to prevent layout shift, variant inheritance through component context, and state-responsive styling on native devices.

The component set covers a wide range of UI needs: text inputs, checkboxes, select dropdowns, range sliders, accordions, modal dialogs, bottom sheets, toast notifications, tooltips, progress indicators, avatar groups, and more. A CLI tool initializes projects and adds individual components, while VS Code snippets and an interactive playground speed up development. The library also integrates with Next.js and supports React Server Components partially.

Developers can get started by installing the CLI and running a single command to set up a project, or by exploring all components in a live demo app.

## Tags

### User Interface & Experience

- [Copy-Paste UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/copy-paste-ui-frameworks.md) — Distributes UI components as copy-paste source code for full customization without runtime dependencies. ([source](https://gluestack.io/ui/docs/guides/more/faqs))
- [Accessible UI Components](https://awesome-repositories.com/f/user-interface-experience/accessible-ui-components.md) — All components are built with built-in keyboard navigation and screen reader support.
- [Action Trigger Components](https://awesome-repositories.com/f/user-interface-experience/action-trigger-components.md) — Ships customizable action buttons with loading, icon, link, and full-width variants. ([source](https://gluestack.io/ui/docs/components/button))
- [Component-Based UI Libraries](https://awesome-repositories.com/f/user-interface-experience/component-libraries/component-based-ui-libraries.md) — Provides over 30 pre-built, responsive UI components that work consistently across web and mobile. ([source](https://gluestack.io/ui/docs/home/overview/quick-start))
- [Cross-Platform UI Libraries](https://awesome-repositories.com/f/user-interface-experience/component-transitions/react-libraries/cross-platform-ui-libraries.md) — Offers over 30 responsive components for cross-platform React UI development.
- [React Components](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-libraries/react-components.md) — Provides over 30 pre-built, responsive React components for assembling user interfaces. ([source](https://gluestack.io/ui/docs))
- [Accessible](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-libraries/react-components/accessible.md) — Delivers React components with built-in WAI-ARIA patterns and keyboard navigation.
- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-frameworks.md) — Offers copy-pasteable components that render consistently on web and mobile using Tailwind CSS. ([source](https://cdn.jsdelivr.net/gh/gluestack/gluestack-ui@main/README.md))
- [Tailwind Component Collections](https://awesome-repositories.com/f/user-interface-experience/css-component-libraries/tailwind-component-collections.md) — Provides pre-styled UI components designed for Tailwind CSS.
- [Tailwind CSS Integration](https://awesome-repositories.com/f/user-interface-experience/css-component-libraries/tailwind-css-integration.md) — Applies Tailwind CSS utility classes directly to components for consistent cross-platform styling. ([source](https://gluestack.io/ui/docs/guides/more/faqs))
- [Design Tokens](https://awesome-repositories.com/f/user-interface-experience/design-token-management/design-tokens.md) — Provides a centralized design token system in JSON that controls all colors, spacing, and typography across platforms.
- [Design Token Theming](https://awesome-repositories.com/f/user-interface-experience/design-token-theming.md) — Implements a centralized theme system with design tokens and dark mode.
- [Themed Component Libraries](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/theme-systems/component-theming/themed-component-libraries.md) — Ships a themed component library with configurable tokens and dark mode.
- [Responsive UI Kits](https://awesome-repositories.com/f/user-interface-experience/responsive-ui-kits.md) — Offers over 30 ready-made components that adapt to any screen size across web and mobile. ([source](https://gluestack.io/ui/docs/components/all-components))
- [Reusable UI Components](https://awesome-repositories.com/f/user-interface-experience/reusable-ui-components.md) — Offers over 30 reusable, cross-platform UI components styled with Tailwind CSS. ([source](https://gluestack.io/ui/docs/overview/all-components))
- [Utility-First CSS](https://awesome-repositories.com/f/user-interface-experience/utility-first-css.md) — Uses Tailwind CSS utility classes for consistent cross-platform styling.
- [Cross-Platform Styling](https://awesome-repositories.com/f/user-interface-experience/utility-first-styling/cross-platform-styling.md) — Applies Tailwind CSS utility classes directly to components for consistent styling across web and native mobile platforms.
- [Theme Customization](https://awesome-repositories.com/f/user-interface-experience/visual-theme-configurations/visual-themes/theme-customization.md) — Defines a central theme configuration with design tokens and dark mode support for consistent styling. ([source](https://gluestack.io/ui/docs/home/theme-configuration/customizing-theme))
- [Accessible Links](https://awesome-repositories.com/f/user-interface-experience/accessible-menu-rendering/accessible-links.md) — Provides accessible link components with keyboard navigation and focus management. ([source](https://gluestack.io/ui/docs/components/link))
- [Accessible Menus](https://awesome-repositories.com/f/user-interface-experience/accessible-menus.md) — Creates navigational menus with WAI-ARIA compliance, keyboard navigation, and focus management. ([source](https://gluestack.io/ui/docs/components/menu))
- [Alerts & Notifications](https://awesome-repositories.com/f/user-interface-experience/alerts-notifications.md) — Shows contextual alert messages with customizable style and action type for system status. ([source](https://gluestack.io/ui/docs/components/alert))
- [React Animation Hooks](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/animation-lifecycle-hooks/react-animation-hooks.md) — Ships built-in enter and exit animations triggered by React lifecycle hooks for smooth mount and unmount transitions.
- [User Avatars](https://awesome-repositories.com/f/user-interface-experience/avatar-components/user-avatar-dropdowns/user-avatars.md) — Renders user avatars with image, initials, or icon fallback and accessible markup. ([source](https://gluestack.io/ui/docs/components/avatar))
- [Bottom Sheets](https://awesome-repositories.com/f/user-interface-experience/bottom-sheets.md) — Presents a slide-up panel from the bottom of the screen for menus, dialogs, or quick actions. ([source](https://gluestack.io/ui/docs/components/bottomsheet))
- [Centered Page Containers](https://awesome-repositories.com/f/user-interface-experience/centered-page-containers.md) — Provides a container component that centers content horizontally and vertically for responsive layouts. ([source](https://gluestack.io/ui/docs/components/center))
- [Component Customization Hooks](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/runtime-utilities/infrastructure-utility-systems/component-customization-hooks.md) — Applies dynamic hooks and variables to tailor component functionality to project requirements. ([source](https://gluestack.io/ui/docs/getting-started/vscode-extensions))
- [Tooltips](https://awesome-repositories.com/f/user-interface-experience/content-display-components/tooltips.md) — Displays contextual tooltip hints near elements for additional information. ([source](https://gluestack.io/ui/docs/components/tooltip))
- [Basic Text Rendering](https://awesome-repositories.com/f/user-interface-experience/content-rendering-components/basic-text-rendering.md) — Renders text with customizable styles, sizes, and formatting for display in the user interface. ([source](https://gluestack.io/ui/docs/components/text))
- [Component Styling Patterns](https://awesome-repositories.com/f/user-interface-experience/css-styling/component-styling-patterns.md) — Integrates utility-first CSS classes into component styling for consistent appearance across platforms. ([source](https://gluestack.io/ui/docs/guides/more/roadmap))
- [Dark Mode Support](https://awesome-repositories.com/f/user-interface-experience/dark-mode-support.md) — Supports automatic dark mode switching based on system preference or user toggle across all UI components. ([source](https://gluestack.io/ui/docs/home/theme-configuration/dark-mode))
- [Accordion Panels](https://awesome-repositories.com/f/user-interface-experience/data-display-components/accordion-panels.md) — Renders collapsible accordion panels with configurable sizes, variants, and full ARIA support. ([source](https://gluestack.io/ui/docs/components/accordion))
- [Content Cards](https://awesome-repositories.com/f/user-interface-experience/data-display-components/content-cards.md) — Provides a container component that organizes content into visually distinct blocks with variant styles. ([source](https://gluestack.io/ui/docs/components/card))
- [Multi-line Text Inputs](https://awesome-repositories.com/f/user-interface-experience/data-display-components/list-components/multi-line-item-renderers/multi-line-text-inputs.md) — Creates a resizable text area for entering longer blocks of text with configurable states. ([source](https://gluestack.io/ui/docs/components/textarea))
- [Cross-Platform](https://awesome-repositories.com/f/user-interface-experience/data-tables/image-renderers/cross-platform.md) — Renders images consistently across web and mobile with configurable preset sizes. ([source](https://gluestack.io/ui/docs/components/image))
- [Layout Containers](https://awesome-repositories.com/f/user-interface-experience/flexible-layout-systems/layout-containers.md) — Provides a foundational box container for building flexible, cross-platform layouts. ([source](https://gluestack.io/ui/docs/components/box))
- [Floating Action Buttons](https://awesome-repositories.com/f/user-interface-experience/floating-action-buttons.md) — Ships a customizable floating action button for quick access to primary actions. ([source](https://gluestack.io/ui/docs/components/fab))
- [Checkbox Inputs](https://awesome-repositories.com/f/user-interface-experience/form-input-components/checkbox-inputs.md) — Creates a native-feeling checkbox for selecting options with keyboard navigation and interactive states. ([source](https://gluestack.io/ui/docs/components/forms/checkbox))
- [Toggle Switches](https://awesome-repositories.com/f/user-interface-experience/form-input-components/toggle-switches.md) — Renders toggle switches for binary option selection with on/off states. ([source](https://gluestack.io/ui/docs/components/switch))
- [Column-Based Responsive Grids](https://awesome-repositories.com/f/user-interface-experience/full-screen-viewport-layouts/responsive-layout-switches/column-based-responsive-grids.md) — Builds responsive grid layouts with configurable column spans, gaps, and breakpoint adaptation. ([source](https://gluestack.io/ui/docs/components/grid))
- [Horizontal Arrangements](https://awesome-repositories.com/f/user-interface-experience/horizontal-arrangements.md) — Lines up child elements in a horizontal row with configurable spacing and optional reversed order. ([source](https://gluestack.io/ui/docs/components/hstack))
- [Mounting Animations](https://awesome-repositories.com/f/user-interface-experience/interface-mounting-systems/mounting-animations.md) — Triggers enter and exit animations on components when they mount or unmount using lifecycle hooks. ([source](https://gluestack.io/ui/docs/guides/more/roadmap))
- [Modal Dialogs](https://awesome-repositories.com/f/user-interface-experience/modal-dialogs.md) — Creates accessible modal dialogs for alerts, forms, and notifications on web and mobile. ([source](https://gluestack.io/ui/docs/components/modal))
- [Alert Dialogs](https://awesome-repositories.com/f/user-interface-experience/modal-dialogs/alert-dialogs.md) — Displays a modal dialog for alerts with keyboard interaction and accessibility support. ([source](https://gluestack.io/ui/docs/components/alert-dialog))
- [Select Inputs](https://awesome-repositories.com/f/user-interface-experience/multi-select-inputs/select-inputs.md) — Creates a customizable dropdown selector with accessibility, animations, and form validation integration. ([source](https://gluestack.io/ui/docs/components/forms/select))
- [Single-Select Inputs](https://awesome-repositories.com/f/user-interface-experience/multi-select-inputs/single-select-inputs.md) — Provides a set of mutually exclusive choices with keyboard navigation and accessibility support. ([source](https://gluestack.io/ui/docs/components/radio))
- [Notification Badges](https://awesome-repositories.com/f/user-interface-experience/notification-badges.md) — Renders small status indicators on UI elements to convey notification counts or labels. ([source](https://gluestack.io/ui/docs/components/data-display/badge))
- [Popover Overlays](https://awesome-repositories.com/f/user-interface-experience/overlay-components/popover-overlays.md) — Renders a floating overlay anchored to a trigger element with configurable size and placement. ([source](https://gluestack.io/ui/docs/components/popover))
- [Action Sheets](https://awesome-repositories.com/f/user-interface-experience/overlay-dialogs/action-sheets.md) — Ships an accessible modal action sheet component with focus trapping and backdrop dismissal. ([source](https://gluestack.io/ui/docs/components/actionsheet))
- [Portal Rendering](https://awesome-repositories.com/f/user-interface-experience/portal-rendering.md) — Renders children outside the parent DOM hierarchy to enable overlays that break out of clipping containers. ([source](https://gluestack.io/ui/docs/components/portal))
- [Component Theming](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/theme-systems/component-theming.md) — Provides theming tokens and configuration to globally adjust component appearance. ([source](https://cdn.jsdelivr.net/gh/gluestack/gluestack-ui@main/README.md))
- [Range Sliders](https://awesome-repositories.com/f/user-interface-experience/range-sliders.md) — Creates a range input that users can drag to select a value with keyboard navigation support. ([source](https://gluestack.io/ui/docs/components/slider))
- [Responsive Breakpoints](https://awesome-repositories.com/f/user-interface-experience/responsive-breakpoints.md) — Returns different style values based on screen width breakpoints for responsive layout adaptation. ([source](https://gluestack.io/ui/docs/hooks/use-break-point-value))
- [Responsive Layout Engines](https://awesome-repositories.com/f/user-interface-experience/responsive-layout-engines.md) — Components are responsive and adapt to different screen sizes.
- [Select Dropdowns](https://awesome-repositories.com/f/user-interface-experience/select-dropdowns.md) — Renders a customizable single-option dropdown menu with variants, sizes, and custom triggers. ([source](https://gluestack.io/ui/docs/components/select))
- [Slider Components](https://awesome-repositories.com/f/user-interface-experience/slider-components.md) — Delivers a customizable slider input with configurable size, orientation, and disabled state. ([source](https://gluestack.io/ui/docs/components/forms/slider))
- [State-Responsive Native Styles](https://awesome-repositories.com/f/user-interface-experience/state-responsive-native-styles.md) — Wraps components with a higher-order component that dynamically adjusts styles based on user interaction states on mobile. ([source](https://gluestack.io/ui/docs/home/getting-started/gluestack-ui-nativewind-utils))
- [Contextual Style Scoping](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/cross-component-style-sharing/contextual-style-scoping.md) — Provides a mechanism to scope style definitions to component subtrees using React context. ([source](https://gluestack.io/ui/docs/home/getting-started/gluestack-ui-nativewind-utils))
- [Tabular Data Components](https://awesome-repositories.com/f/user-interface-experience/tabular-data-components.md) — Renders structured data in rows and columns with customizable styling for clear information presentation. ([source](https://gluestack.io/ui/docs/components/table))
- [Vertical Layouts](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/item-navigation-and-selection/collapsible-items/vertical-layouts.md) — Arranges child components in a vertical column with adjustable spacing for consistent layout. ([source](https://gluestack.io/ui/docs/components/vstack))
- [Animation Transition Components](https://awesome-repositories.com/f/user-interface-experience/ui-components/animation-transition-components.md) — Provides components with built-in enter/exit animations and smooth transitions.
- [Loading Placeholders](https://awesome-repositories.com/f/user-interface-experience/ui-components/feedback-overlay-components/loading-indicators/loading-placeholders.md) — Shows temporary placeholder shapes that mimic content layout while data is being fetched. ([source](https://gluestack.io/ui/docs/components/skeleton))
- [User Avatars](https://awesome-repositories.com/f/user-interface-experience/user-avatars.md) — Renders user avatars with image, icon, or text fallback and support for grouping. ([source](https://gluestack.io/ui/docs/components/media-and-icons/avatar))
- [Avatar Groups](https://awesome-repositories.com/f/user-interface-experience/user-avatars/avatar-groups.md) — Renders avatar groups with overlapping images and optional badge overlays. ([source](https://gluestack.io/ui/docs/components/avatar))
- [User Interaction Handling](https://awesome-repositories.com/f/user-interface-experience/user-interaction-handling.md) — Manages hover, pressed, and focus states on touchable elements for immediate visual feedback. ([source](https://gluestack.io/ui/docs/components/pressable))

### Part of an Awesome List

- [Cross-Platform Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/react-components/cross-platform-libraries.md) — Provides a library of React components that render on both web and mobile.
- [Text Input Fields](https://awesome-repositories.com/f/awesome-lists/devtools/text-inputs/text-input-fields.md) — Creates a customizable text input field with states for disabled, invalid, and read-only. ([source](https://gluestack.io/ui/docs/components/input))

### Web Development

- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-ui-frameworks.md) — Builds user interfaces that work consistently across web and mobile from a single codebase. ([source](https://gluestack.io/ui/docs/home/core-concepts/universal))
- [Next.js](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/rendering-and-layout-architectures/server-side-rendering-frameworks/framework-integrations/next-js.md) — Configures components to integrate seamlessly with Next.js server-side rendering and static generation. ([source](https://gluestack.io/ui/docs/guides/more/roadmap))
- [Form Field State Management](https://awesome-repositories.com/f/web-development/form-field-state-management.md) — Wraps individual form fields to handle validation, required, disabled, and readonly states. ([source](https://gluestack.io/ui/docs/components/form-control))
- [Heading Styles](https://awesome-repositories.com/f/web-development/web-standards/typography-systems/heading-styles.md) — Displays styled heading text with customizable sizes for consistent typography across platforms. ([source](https://gluestack.io/ui/docs/components/heading))

### Graphics & Multimedia

- [SVG Icon Libraries](https://awesome-repositories.com/f/graphics-multimedia/svg-icon-libraries.md) — Renders scalable vector icons using SVG on web and React Native SVG on mobile. ([source](https://gluestack.io/ui/docs/components/icon))

### Software Engineering & Architecture

- [Server-Side Rendering Style Registries](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/framework-specific-integrations/server-side-rendering-style-registries.md) — Flushes inline styles generated during server-side rendering into HTML to ensure correct client-side rendering. ([source](https://gluestack.io/ui/docs/home/getting-started/gluestack-ui-nativewind-utils))
