Lovable vs Bolt vs v0: how their websites differ

Three of the most popular AI app builders produce sites that look almost identical. Underneath, each leaves its own marks.

Lovable vs Bolt vs v0 is usually a question about which builder to use. This comparison looks at the other side: what each one's websites look like from the outside, and how to tell them apart when you land on one. It's a practical companion to our builder fingerprint guide.

At a glance

LovableBoltv0
Made byLovable (formerly GPT Engineer)StackBlitzVercel
FrameworkVite + ReactUsually Vite + ReactNext.js
Styling and componentsTailwind CSS, shadcn/uiTailwind CSS, often shadcn/uiTailwind CSS, shadcn/ui
Own hostinglovable.appbolt.hostvusercontent.net, v0.app
Clearest tell on a custom domaingptengineer.js script, /lovable-uploads/x-powered-by: Bolt.new headergenerator meta tag naming v0
Default titleLovable App or the Vite defaultThe Vite defaultv0 App
Free-plan badgeEdit with LovableMade with BoltBuilt with v0

Why their sites look the same

All three generate the same kind of front end: React components styled with Tailwind CSS, built from shadcn/ui's buttons, cards and dialogs. Language models also share the same taste in layouts and colours. The result is the familiar gradient hero and three feature cards, whichever builder you start with. We explain the causes in why AI-generated websites all look the same.

Lovable sites

Lovable leaves more traces than most. Look for the gptengineer.js script from cdn.gpteng.co, images under /lovable-uploads/, data-lov-id attributes in preview builds, and default meta tags such as the description Lovable Generated Project. Lovable apps often use Supabase for data and sign-in. Full guide: how to tell if a website was built with Lovable.

Bolt sites

Bolt's hosting stamps a response header, x-powered-by: Bolt.new, which survives on custom domains as long as Bolt serves the site. Free sites carry a badge from bolt.new/badge.js. Inside the page, a Bolt site is often indistinguishable from a Lovable one. Full guide: how to tell if a website was built with Bolt.

v0 sites

v0 is the odd one out because it generates Next.js. Its sites load scripts from /_next/static/, which rules out a default Lovable or Bolt project. Look for v0's generator tag, the description Created with v0 or the title v0 App. v0 projects usually deploy to Vercel, but so do huge numbers of hand-built Next.js sites, so the host alone proves little. Full guide: how to tell if a website was made with v0.

A quick way to tell them apart

  1. Check the address. lovable.app, bolt.host or vusercontent.net answers it.
  2. Check the framework. /_next/ in the source points toward v0 (or any Next.js site); a Vite bundle like /assets/index-*.js points toward Lovable or Bolt.
  3. Check the scripts. gptengineer.js means Lovable.
  4. Check the headers. x-powered-by: Bolt.new means Bolt.
  5. Check the head of the source. A v0 generator tag or v0 App title means v0.

If none of these match, the honest answer is "possibly vibe coded, builder unknown". The shared look is never enough to name one of the three.

Kitsuvo, our no-AI web browser, runs these checks on every page you open, names the builder when a fingerprint matches, and filters likely AI-built results out of your searches.

Questions people ask

What is the difference between Lovable, Bolt and v0?

All three are AI app builders that generate React and Tailwind CSS sites from prompts. Lovable and Bolt usually build with Vite and host on their own domains; v0, from Vercel, builds with Next.js and deploys to Vercel. Each leaves different fingerprints.

Can you tell whether a site was made with Lovable or Bolt just by looking?

Not reliably. They generate very similar designs. You need a fingerprint, such as Lovable's gptengineer.js script or Bolt's x-powered-by header.

Do Lovable, Bolt and v0 all use shadcn/ui?

They all lean heavily on it. That is one reason their sites look alike, and why shadcn/ui on its own is not evidence of any particular builder.