← All Articles 🌐 Live Website Analysis Medium By Nishant Kumar Verma

How to Tell If a Website Is Vibe Coded (and What Matters More)

How to tell if a website is vibe coded: builder badges, default domains and leftover tags from real Lovable, Bolt, Replit and Base44 pages, and what to check.

HDR-001 SSL-001 SEC-006

Quick Answer

To tell if a website is vibe coded, look first for the builder's own marks. On free plans, Lovable, Bolt, Replit and Base44 put a badge on published sites, and all four publish to a default address: lovable.app, bolt.host, replit.app and base44.app. The page source often keeps leftovers too, such as Bolt's default preview image or Replit's template description. Design clichés are only hints, and AI-code detectors only estimate. None of it tells you whether the site is safe, which takes a different set of checks.

Sign 1: The Builder's Badge and Address

The main AI app builders publish to a default subdomain first, and most add a small badge until you pay to remove it. This is what each one's documentation says, checked on 24 October 2026:

Builder Default address Badge on the free plan Removing the badge
Lovableyourname.lovable.app"Edit with Lovable"Pro plan and above
Bolta random name on bolt.host (Netlify for projects published before 14 August 2025)"Made in Bolt"Any paid plan
Replityourname.replit.app"Made with Replit", with your referral linkCore plan
Base44yourname.base44.app"Edit with Base44", on public apps onlyStarter plan and above
v0 by Vercela vercel.app addressNone mentioned in v0's docsNot applicable

Sources: Lovable publishing and plans, Bolt's publishing and hosting plans, Replit's publishing and Starter plan, Base44 and v0.

Read the table both ways. A badge or a builder subdomain is strong evidence, but its absence proves little: paid plans hide the badge and a custom domain hides the address. A vercel.app address on its own says nothing about v0, because that domain belongs to Vercel.

Sign 2: Leftovers in the Page Source

We read the raw HTML of six public sites on these default addresses on 24 October 2026. Builders leave fingerprints in the parts visitors never see:

  • Bolt: a published site loaded https://bolt.new/badge.js and still used Bolt's default preview image, bolt.new/static/og_default.png.
  • Lovable: Lovable's own academy site carried the badge markup, a link tagged utm_source=lovable-badge. A user's Lovable app loaded scripts from paths such as /~flock.js, with a token naming a Lovable project ID that starts with lovp_. Lovable's docs add that, unless you set one, the preview image is the latest screenshot of your app.
  • Replit: an example app from Replit's docs still had the template description, ending "Update this description to reflect the app."
  • Base44: two apps served their preview images from a path containing base44-prod, and one kept the alt text "Base44 link preview".

None of the six had a generator meta tag, so do not count on one. You can run the same check on any site from a terminal:

# Look for builder leftovers in a site's HTML
curl -sL https://example.com | grep -ioE "lovable[^\"' ]*|bolt\.new[^\"' ]*|replit[^\"' ]*|base44[^\"' ]*"

# Check the description and preview image people see when the link is shared
curl -sL https://example.com | grep -iE 'name="description"|property="og:image"'

Sign 3: Design Clichés, the Weakest Evidence

Design creators on social media keep a list of visual tells, such as this one: purple-to-blue gradients, emoji in headings, the Inter font everywhere, glassmorphism cards and untouched shadcn components.

Each of these can appear on a site a person built by hand, so treat them as hints, not proof. If they bother you on your own site, they are a design fix, not a security one.

If You Have the Code: Signs in the Repo

With access to the repository you can look past the surface:

  • Git history. Some coding agents add trailers such as Co-Authored-By: Claude to the commits they write.
  • Packages that do not exist. AI tools sometimes import a package name nobody ever published. Our guide to hallucinated imports shows how to catch them.
  • Writing habits. Justin McKelvey's field guide lists tells such as comments that narrate each line, calls to APIs that do not exist, naming that drifts between files, copy-pasted logic and "ceremonial" error handling.

Why AI Code Detectors Cannot Settle It

AI-code detectors give a probability, not a verdict, and McKelvey's guide opens bluntly: "The Detector You Want Doesn't Exist. The Skill Does." Even a perfect detector would answer the wrong question. A score that says 80% of a file came from a model tells you nothing about whether its login checks the right user, whether a secret key ships to the browser, or whether the database lets one customer read another's records.

That is the question most people asking "is this vibe coded?" really have: can I trust this site with my data, or can I ship mine?

What Matters More Than Who Built It

Whether a person or a model wrote the code, the same checks decide whether a site is safe to use:

The leftovers from Sign 2 belong on this list too. A template description or a builder's default preview image is what search results and link previews can show when someone shares your site.

How to Fix It on Your Own Site

If you built your site with one of these tools, a few minutes removes the most obvious marks:

  1. Open the site in a private window and look for the builder's badge. Remove it in the builder's settings if your plan allows.
  2. Connect your own domain, so the builder's subdomain is not the address people share.
  3. Replace the template description and preview image with your own.
  4. Then check what visitors cannot see: access rules, keys in the bundle, headers and legal pages.
<!-- BAD: the template text is still in the page head -->
<meta name="description" content="... built on Replit. Update this description to reflect the app.">
<meta property="og:image" content="https://bolt.new/static/og_default.png">

<!-- GOOD: your own words and your own preview image -->
<meta name="description" content="Invoice tracking for freelancers. Free for your first 20 clients.">
<meta property="og:image" content="https://yourdomain.com/og-image.png">

Tools like VibeDoctor's Vibe Check (vibedoctor.io) automatically scan your live site and your repository: security headers, SSL, console errors, SEO tags, privacy policy and terms, and secrets in the code, with specific file paths and line numbers. Free to sign up.

FAQ

Can you tell if a website was made with Lovable?

Often, yes. Lovable publishes to a lovable.app address by default, and sites on the free plan show an "Edit with Lovable" badge, which only Pro plans and above can remove. The badge markup, with a link tagged utm_source=lovable-badge, is visible in the page source. Removing the badge and using your own domain hides both.

How do I remove the "Made with Replit" or "Made in Bolt" badge?

Upgrade the plan. Replit's docs say removing the "Made with Replit" badge requires Core, and Bolt's say any paid plan removes the "Made in Bolt" badge. Lovable's badge needs Pro or above, and Base44's needs Starter or above.

Can AI code detectors tell if code is AI-generated?

They can estimate, not prove. Detectors give a probability, and that number says nothing about whether the code is secure. For a site you depend on, checking access rules, exposed keys and headers tells you more than any detector score.

Is it bad if my website looks vibe coded?

Not in itself. A builder badge or a template preview image is easy to remove if you do not want it. The problems that hurt users, such as data any visitor can read, do not show on the surface at all.

Are vibe coded websites insecure?

Not automatically. Being built with an AI tool does not make a site insecure by itself. The usual problems are missing access rules, keys shipped to the browser and missing security headers, and you can check for all of them whoever wrote the code.

Diagnose your codebase - free

VibeDoctor checks for HDR-001, SSL-001, SEC-006 and 148 other issues across 21 diagnostic areas - security, performance, code quality, and more.

SCAN MY APP →