Research

shadcn/ui Component Statistics 2026: 62 Analyzed

How big shadcn/ui components are, how many use variants and which ones the others are built from, measured from the published source of 62 components on October 26, 2026.

Updated
Sample
62 components

Key findings

  1. The median shadcn/ui component is 97 lines of source code, measured across 62 components in the base-vega style; together they come to 8,575 lines.

    Denominator: all 62 analyzed components. Link to this finding

  2. Sidebar is the largest shadcn/ui component at 730 lines, followed by Chart (372) and Questionnaire (332). 17 of the 62 components (27%) are 200 lines or longer.

    Denominator: all 62 analyzed components. Link to this finding

  3. 15 of the 62 shadcn/ui components (24%) define style variants with class-variance-authority (cva); the other 47 have no cva variants.

    Denominator: all 62 analyzed components. Link to this finding

  4. 22 of the 62 shadcn/ui components (35%) install at least one other shadcn/ui component as a registry dependency; the other 40 stand alone.

    Denominator: all 62 analyzed components. Link to this finding

  5. Button is the most reused building block: 14 of the 62 components (23%) depend on it, followed by Separator (4).

    Denominator: all 62 analyzed components. A component counts once per dependency it lists. Link to this finding

  6. The median shadcn/ui component exports 4.5 parts; 13 of the 62 components (21%) export a single part and 12 (19%) export 10 or more.

    Denominator: all 62 analyzed components. A part is an exported function component. Link to this finding

  7. Components that build on other shadcn/ui components are larger: a median of 208.5 lines for the 22 that do, against 67.5 for the 40 that stand alone.

    Two groups: 22 components with registry dependencies and 40 without. Differences under 10% are reported as about the same. Link to this finding

Not reported because the sample is too small:

  • Size of components with and without cva variants: only 15 components are in the smaller group, below the 20-row minimum.

Breakdowns

Components by size

Lines of source code per component. Share of all 62 analyzed components. Link to this table

Lines of sourceComponentsShare
Under 50 lines1423%
50–99 lines1727%
100–199 lines1423%
200–399 lines1626%
400 lines or more12%

Components by number of parts

Exported function components per registry item. Share of all 62 analyzed components. Link to this table

Exported partsComponentsShare
1 part1321%
2–4 parts1829%
5–9 parts1931%
10 parts or more1219%

Most reused components

How many of the 62 analyzed components list each one as a registry dependency. Link to this table

ComponentComponents that depend on itShare
Button1423%
Separator46%
Input23%
Input group23%
Card12%
Collapsible12%
Dialog12%
Dropdown menu12%
Label12%
Sheet12%
Skeleton12%
Textarea12%
Toggle12%
Tooltip12%
use-highlighted-code12%
use-mobile12%

Every component

Ordered by lines of source code, largest first. Link to this table

ComponentLinesPartscva variant groupsRegistry dependencies
Sidebar730232Button, Input, Separator, Sheet, Skeleton, Tooltip, use-mobile
Chart37230Card
Questionnaire332150Button
Combobox328140Button, Input group
Menubar296160Dropdown menu
Context menu291150None
Dropdown menu291150None
Toast278100Button
Code block25982Button, use-highlighted-code
Carousel25650Button
Calendar24520Button
Field238101Label, Separator
Select22890None
Drawer224110None
Command21090Dialog, Input group
Attachment20793Button
Item201103Separator
Alert dialog187120Button
Navigation menu17680None
Trace16780Collapsible
Dialog162100Button
Input group15862Button, Input, Textarea
Pagination15170Button
Sheet14080Button
Breadcrumb13770None
Message scroller13660Button
Bubble12743None
Table11580None
Avatar10860None
Empty10361None
Card10270None
Input OTP9240None
Message9160None
Popover8960None
Toggle group8920Toggle
Accordion8840None
Button group8731Separator
Progress8250None
Tabs8141None
Alert7541None
Marker7031None
Native select7030None
Tooltip6540None
Button5712None
Scroll area5420None
Badge5111None
Slider5110None
Hover card5030None
Resizable4930None
Toggle4412None
Radio group3720None
Checkbox3410None
Switch3110None
Kbd2620None
Separator2410None
Aspect ratio2210None
Spinner2210None
Collapsible2130None
Input1910None
Label1910None
Textarea1710None
Skeleton1310None

Methodology

  • Source: the shadcn/ui registry index (https://ui.shadcn.com/r/index.json). Every item of type registry:ui, 65 in total, was fetched from https://ui.shadcn.com/r/styles/base-vega/<name>.json on October 26, 2026.
  • Included: 62 of the 65 items. Excluded: Direction, because its source exports no function components the parser can read (a re-export or an arrow-function wrapper); Form, because it ships no source code in this style; Sonner, because its source exports no function components the parser can read (a re-export or an arrow-function wrapper).
  • Lines: every line of the item's published files joined together, trailing blank lines removed. Comments and blank lines inside the file count.
  • Parts: exported functions whose names start with a capital letter. Components written as arrow functions are not counted.
  • cva variant groups: keys of the variants object in each cva() call. Registry dependencies: the item's registryDependencies list.
  • Not reported: npm dependencies, because the base-vega style declares shared packages such as @base-ui/react once for the whole style rather than on every item.
  • One style only: the base-vega style, which is built on Base UI. Radix-based styles may differ in size.
  • Every value is computed from published code; none is entered by hand or by users.
  • Refreshed when the snapshot is re-fetched with pnpm shadcn:snapshot. The date on this page is the fetch date.
  • Percentages are rounded to the nearest whole number, so a table can add up to 99% or 101%. A median of an even count is the mean of the middle two values.
  • A finding that compares two groups needs at least 20 components in each group.

Frequently asked questions

How many components does shadcn/ui have?

The shadcn/ui registry listed 65 UI components (items of type registry:ui) on October 26, 2026. HextaUI fetched every one from the base-vega style and measured the 62 that ship readable component source.

Link to this answer

What is the largest shadcn/ui component?

Sidebar is the largest shadcn/ui component at 730 lines of source code in the base-vega style, measured on October 26, 2026. The median component is 97 lines.

Link to this answer

How many lines of code is a typical shadcn/ui component?

The median shadcn/ui component is 97 lines of source code, across 62 components in the base-vega style measured on October 26, 2026. 17 of the 62 components (27%) are 200 lines or longer.

Link to this answer

How many shadcn/ui components use cva variants?

15 of the 62 shadcn/ui components (24%) define variants with class-variance-authority (cva), measured on October 26, 2026. They include Alert, Attachment, Badge, Bubble and Button.

Link to this answer

Which shadcn/ui component do other components depend on most?

Button. 14 of the 62 shadcn/ui components (23%) list it as a registry dependency, measured on October 26, 2026.

Link to this answer

Cite this research

Quote any finding with a link to its anchor, or cite the whole study:

HextaUI. “shadcn/ui Component Statistics 2026: 62 Analyzed.” https://hextaui.com/research/shadcn-ui-components. Updated October 2026.

The same findings and tables are at https://hextaui.com/research/shadcn-ui-components.md.