← Back to detector
Platform guide

How to detect Claude Artifacts websites

Interactive apps generated in Claude conversations

Claude Artifacts are interactive apps generated inside a Claude conversation and publishable to a shareable URL. Published artifacts live on Anthropic-controlled domains, which makes hosted detection trivial — but code copied out of an artifact and self-hosted requires pattern-level detection instead.

Check any URL for Claude Artifacts fingerprints →Use detector

Technical fingerprints

  • Hosted on claude.site or a claude.ai artifact URL
  • Single-page React app with all components in one file
  • Libraries loaded from CDN (cdnjs, unpkg, esm.sh) instead of bundled
  • Tailwind via CDN script tag rather than a build step
  • No build tooling markers — no Vite/webpack chunk names

Visual design patterns

  • Single-screen utility apps: calculators, dashboards, visualizers, games
  • Tailwind utility classes with inline React state logic
  • Recharts or D3 for data visualization
  • Lucide icons loaded from CDN
  • Indigo/violet default accent palette

Typical tech stack

React (single file, no router)Tailwind CSS (CDN)Recharts / D3 for chartsLucide iconsNo backend — state lives in the browser

Frequently asked questions

Can I detect artifact code that someone self-hosted?+

Partially. Tell-tale patterns include a single-file React structure, CDN-loaded dependencies instead of a bundler, and Tailwind included via script tag. These are weaker signals than a claude.site URL but combine into a meaningful score.

Are Claude Artifacts full websites?+

They're single-page interactive apps rather than multi-page sites — no server, no database (unless using Claude's runtime APIs), no routing. Most 'is this site vibe coded' questions involve platform tools like Lovable; artifacts show up for demos, tools and prototypes.

What about apps built with Claude Code instead?+

Claude Code is an agentic CLI that writes arbitrary codebases — like Cursor and Windsurf output, there's no hosting fingerprint, so detection falls back to scaffold statistics: default stacks, template leftovers and domain age.