Is shadcn/ui a sign a site was made with AI?
Nearly every AI builder uses it, and so do hundreds of thousands of hand-built sites. Here is how to recognise shadcn/ui and how much weight to give it.
shadcn/ui shows up on almost every AI-built website, which leads many people to treat it as a giveaway. It isn't, quite. It is a very popular open-source component library that AI builders happen to love, and that lots of human developers love too. This explainer shows how to spot shadcn/ui and what it does and doesn't tell you.
What shadcn/ui is
shadcn/ui is a collection of interface components (buttons, cards, dialogs, menus, forms, toasts) for React, created by a developer who goes by shadcn. It's built on two other libraries: Tailwind CSS for styling and Radix UI for accessible behaviour. Unusually, it isn't installed as a package. Developers copy each component's source into their own project and edit it freely.
That design made it a natural fit for AI tools. The components are plain code a model can read and modify, they look good by default, and they're everywhere in the open-source projects models learned from. v0 is built by Vercel, where shadcn works, and generates shadcn/ui by default; Lovable's starting template includes it; Bolt and others use it heavily.
How to spot shadcn/ui on a site
View the page source (Ctrl+U) or the Elements panel (F12) and look for these class names, which come from shadcn/ui's theme:
text-muted-foregroundbg-card text-card-foregroundbg-primary text-primary-foregroundring-offset-backgroundandfocus-visible:ring-ringborder-input bg-background
Radix UI adds attributes like data-state="open" or data-state="closed" on menus and dialogs, and data-radix- identifiers. Toasts often come from Sonner, a toast library shadcn/ui recommends.
Visually: softly rounded cards with a thin border and faint shadow, neutral grey text for secondary lines, and clean, slightly compact menus and dialogs.
How much it means
shadcn/ui is a weak signal on its own, for two reasons:
- Humans use it too. Wappalyzer's technology directory tracks shadcn/ui on about 1.2 million live websites, against about 58,000 for Lovable, as read on October 10, 2026. Many of those sites are hand-built by developers who like the components.
- It can't name a builder. Lovable, v0, Bolt and a human with a free afternoon all produce the same class names.
Where it helps is in combination. shadcn/ui plus an untouched template title plus LLM-style copy adds up to "possibly vibe coded". shadcn/ui plus Lovable's gptengineer.js script is "likely AI-built, Lovable", but the script is doing the work there, not the components.
| What you found | A fair reading |
|---|---|
| shadcn/ui only | No strong AI signs |
| shadcn/ui + template leftovers + stock copy | Possibly vibe coded |
| shadcn/ui + a builder fingerprint | Likely AI-built, builder named |
How Kitsuvo weighs it
Kitsuvo, our no-AI web browser, lists shadcn/ui and Radix as a "component kit" signal with a small weight, and shows it in the evidence so you can see it was counted. It never names a builder from the component kit. For that it needs the builder's own traces, covered in our builder fingerprint guide and, builder by builder, in how to tell if a website was built with an AI builder.
If you build with shadcn/ui
Using shadcn/ui doesn't make your site "look AI" by itself. What makes a site read as generated is the combination of untouched defaults: the default theme colours, the stock landing-page sections, a template title and generic copy. Change the theme, write your own copy and finish your metadata, and the same components look like yours. More on that in why AI-generated websites all look the same.
Questions people ask
Is shadcn/ui made by AI?
No. shadcn/ui is an open-source component library written by developers. AI builders use it to generate interfaces because it is popular, well made and easy for models to edit.
Does v0 use shadcn/ui?
Yes. v0, Vercel's AI builder, generates interfaces with shadcn/ui by default. Lovable, Bolt and other builders use it heavily too.
How can I tell if a website uses shadcn/ui?
Search the page source for class names like text-muted-foreground, bg-card or ring-offset-background, and attributes like data-state="open" from Radix UI.