Why every AI-generated website looks the same

Generated sites converge because the defaults converge. Inter, a safe gradient and one easing curve, shipped by five builders who admit it freely.

Rank upon rank of identical frosted glass panels receding into black, every one holding the same layout in the same blue, with one panel near the front breaking the pattern in vivid magenta
Nothing chose this. That is exactly why it repeats.

Two of the companies whose products make these pages have already described the result, in public, for free. That is the strongest available evidence and it costs nothing to check.

Anthropic's own engineering blog says that without guidance its model reaches for "Inter fonts, purple gradients on white backgrounds, and minimal animations", and attributes it to distributional convergence. Bolt's blog puts it more bluntly: "AI will almost always pick Inter or Roboto and stick to safe blue and gray", which is why, it says, a lot of AI designs blend together.

So the answer to the question in the title is not mysterious and it is not a complaint about the technology. Generated sites converge because the defaults converge, and the defaults are shipped by five different companies who happen to use the same three or four packages.

The defaults, counted#

WhereWhat it ships by default
Lovable, sampled outputTailwind's stock easing curve on nearly every transition, at around 150ms, and a reduced-motion fallback on almost none of it
Lovable, documentationInter recommended on three separate pages, and shipped by most sampled sites
Lovable, its own demoThe design systems example ships the untouched default slate theme, with the placeholder page title still in the tab
Bolt, first-party templatesInter in four of five curated templates, and the same unedited stock red in three stylistically unrelated ones
v0, its system promptForbids purple and forbids gradients, then mandates a specific font block
v0, same fileZero mentions of animation, easing, duration, transition or reduced motion, anywhere in it

Read the last two rows together, because they are the whole argument in miniature. Somebody at v0 cared enough to ban purple by name. Nobody specified how anything moves, so everything moves the way the framework moves.

The three moves that give it away#

Before the palette, before the type, there is a skeleton that repeats. People describing the problem in public tend to describe the same page back: the same hero, the same three feature cards, the same gradient behind them.

  1. The fade and slide up, on every section. Anthropic's own design guidance names this one specifically as a tell. It is not a bad effect. It is a bad default, because applying it everywhere means it was applied by nobody.
  2. Three cards, because three is what fits. The count comes from the grid, not from the argument. Four things to say get squeezed into three; two get padded out to three.
  3. A gradient doing the work a decision should do. Where nothing has been chosen about depth, surface or contrast, a gradient arrives to make the emptiness look intentional.

The tell is the grey, and nobody writes it down#

A pure mid-grey is the single clearest tell of a generated design.

Real palettes bias their neutrals. A warm ground gets a neutral pulled slightly towards amber, a cold one gets it pulled towards blue, and the choice is made because somebody looked at the two next to each other and preferred one. A neutral sitting exactly on the grey axis is almost always a value that nobody chose, and once you can see it you cannot stop seeing it.

The reason you have never read this anywhere is supply. Search the design writing published by the major builders and you will find a great deal about principles and almost nothing in values: one real duration table across all of them, no published easing curve values, and no palette written as hex with a role per colour. They explain concepts beautifully. They do not hand over numbers, because a number is a decision and documentation does not make decisions.

A glass stamping press pushing out one identical translucent panel after another onto a conveyor, every copy the same cold blue, the moving panels trailing motion blur
The press is not broken. It is working perfectly, which is the problem.

What replaces a default is unglamorous and short, and no free component will hand it to you:

  • Four to six hex values with a role each, and the neutral's hue bias stated.
  • Two named faces with the fallback stack written out, and a scale in px.
  • One named easing curve with its real value and a duration in milliseconds.
  • One signature moment, described as a mechanism rather than as a mood.

Where it does not happen#

Webflow's showcase runs to tens of thousands of published projects. Pull a couple of dozen at random and you get fifteen distinct typefaces, Inter on only a few of them, and no repeated page skeleton anywhere in the set.

That is worth stating carefully, because it is easy to over-read. It is user-generated work, most of it is not AI output, and a sample of two dozen proves nothing about the other ninety-five thousand. It is not evidence that one tool designs better than another.

What it does show is narrower and more useful: sameness is not a property of software, it is a property of the instruction. Where a human made a type decision, the pages diverge. Where nobody made one, they converge. That is the entire diagnosis, and it fits in a sentence.

Specificity alone does not fix it#

Here is the part the rest of this genre skips, and it is the honest problem underneath the whole category.

If everybody buys the same specificity, specificity converges too. A prompt library that sells ten thousand people the same excellent, exact, fully specified page produces ten thousand pages that rhyme with each other instead of with the default. The floor has moved up. The convergence has not gone away.

The way out is to sell the machine rather than the output. A format that forces a real decision at each block, a list of what this particular design refuses to do written per design rather than as generic taste advice, and a check that fails a brief whose motion has no curve and no duration. Direction includes deciding what not to move, which is the half almost nobody writes down, and it is the half that makes two pages built from the same library look unrelated.

What to do this afternoon#

Decide five things before you open the builder: the palette with roles, the two faces, the scale, the curve with its duration, and the section order. Write them as values. Paste them in. Whatever you are building with will follow a specific instruction happily, and it will only invent when you leave a gap.

If writing that brief is the part you cannot do, that is the job Thanor does: full art direction per design, in exact values, covering UI, app and SaaS interfaces, page sections and animated backgrounds, for personal and client work. $89 for three months, $189 a year, $299 once.

Free accounts open the designs marked free, so read one and count the decisions in it before you decide whether it beats the brief you would have written yourself.

Questions this raises

Why do AI generated websites all look alike?

Because the defaults are identical. The same handful of packages, the same recommended typeface, the same stock easing curve and duration ship inside every builder, and a prompt that does not override them gets them. Anthropic and Bolt have both described this on their own blogs.

Is this a limitation of the AI models?

No. The models will build whatever a specific brief asks for, at any curve, any duration and any palette. What converges is what happens when nobody specifies, and that is a house style choice baked into frameworks rather than a ceiling on capability.

How do I make an AI generated site not look generic?

Decide before you prompt. Name four to six hex values with a role each, two typefaces with the fallback stack, a type scale in px, one named easing curve with a duration in milliseconds, and the order the sections run in. Specificity is the whole fix.

What is the fastest tell that a page was generated?

A pure mid grey. Real palettes bias their neutrals warm or cool on purpose, and a neutral sitting exactly on the grey axis is almost always a value nobody chose. After that, look for a fade and slide up entrance on every single section.

Part of

Hard questions

The questions a prompt library has to answer before anybody pays for one. Why every generated site looks the same, why a paid prompt beats a free component, and what the difference is actually made of.