AI slop detector.
Paste any URL. The detector fetches the page, scans the static markup for the visual template patterns AI site builders ship by default (Inter font, purple-to-blue gradients, shadcn rounded cards, "Get Started" / "Learn more" CTA pairs, all-caps section labels), and returns a 0-100 slop score with specific findings and fixes.
writing companion: AI tell killer
What this tool can and can't see
The detector fetches the static HTML returned by the URL and scans it for 11 specific patterns. That covers server-rendered sites and static sites well (most marketing pages, most landing pages, most documentation). It covers single-page apps poorly because the actual UI is injected by JavaScript at runtime, and the static HTML is a near-empty shell.
When the tool flags a site as a JS-rendered shell, the score is a floor (whatever slop is present in the initial HTML is at least that bad) but the rendered page might score higher. For a real SPA audit, open DevTools, inspect the rendered DOM, and look for the same patterns: Inter in the computed font stack, rounded-2xl + border + shadow on every card, gradient hero backgrounds, centered hero + "Get Started" / "Learn more" CTAs.
The rules, briefly
- Inter font (weight 8): Inter is the default of every shadcn/v0/Lovable-generated site. Using it makes the page look identical to thousands of others.
- Geist font (Vercel default) (weight 6): Geist is Vercel's default and ships with every Next.js hobby project unchanged. Marginally less generic than Inter but still very common.
- Purple-to-blue gradient (weight 9): The 'safe' AI choice trained into every text-to-page model. Reads as cliche instantly. Often seen in hero backgrounds and CTAs.
- zinc-950 / slate-950 dark mode (weight 6): The universal AI-generated dark-mode shell. Combined with low-contrast gray-400 text on top, hurts readability (halation effect).
- shadcn-style rounded card (weight 7): Uniform rounded-2xl bordered cards with subtle shadows. The shadcn <Card> default. Every AI-generated landing converges on this.
- Centered hero + Get Started/Learn More (weight 8): The Taxonomy/Tailwind UI hero. Every AI-generated landing lands here. Centered H1 + subhead + two CTAs labeled 'Get Started' and 'Learn more'.
- All-caps section labels (weight 5): uppercase + tracking-wider + tiny text. Every AI-generated section starts with one of these eyebrows.
- Floating orbs / glow effects (weight 6): Decorative gradient blurs in hero backgrounds. The 2025-2026 SaaS template signature.
- Generic marketing speak (weight 6): Vague aspirational headlines and AI-generated marketing copy. 'Build the future', 'Supercharge your workflow', 'Unleash potential', 'Revolutionize'.
- 'Trusted by X+ companies' (no logos) (weight 4): Trust-signal copy without naming or showing the companies. Empty signal that adds nothing.
- Common AI builder fingerprint (Lovable / v0 / Bolt) (weight 5): Direct fingerprints of AI site-builders that ship the page mostly-default.
How the score is calculated
Each rule has a weight from 1 to 10 reflecting how reliably the pattern signals an unmodified AI template. The detector sums the weights of matched rules, divides by the maximum possible total, and returns a 0-100 score. Higher means more slop signature. The verdict line translates the number into a sentence (clean, light, some, or heavy).
The breakdown is intentionally honest: matched rules show evidence snippets so you can verify the match in your own source, and each comes with a specific fix suggestion drawn from the published AI-slop guides the rules are based on.
FAQ
What is 'AI slop' in web design?
AI slop is the visual template that comes out when an AI builder (Lovable, v0, Bolt, Cursor with shadcn) generates a website and nobody overrides the defaults. The same Inter font, the same purple-to-blue gradient hero, the same rounded-card layout with subtle shadows, the same 'Get Started' / 'Learn more' CTA pair, the same all-caps section labels. The patterns are individually fine, but at scale they make thousands of sites look identical and reduce brand differentiation to zero.
Can this tool tell me if a site was made by AI?
No. It detects the structural patterns that AI builders ship by default. A human-coded site can hit all of these patterns if it used a shadcn starter and didn't customize it. An AI-built site can pass all of these patterns if the builder customized the visuals before shipping. The score measures pattern density, not origin. Treat a high score as 'this looks like the same template everyone else is shipping', not as 'this was definitely AI-generated'.
Why is my SPA scoring low even though it's clearly slop?
The detector reads the static HTML returned by the server. Single-page apps (React, Vue, Next.js with client-only rendering) often return a near-empty shell where the actual UI is injected by JavaScript at runtime. Static HTML detection can't see runtime-injected classes. The tool flags this as 'JS-rendered shell' in the verdict — when you see that, treat the score as a floor (the visible-on-load slop is at least X) and add a manual review of the rendered page using a browser DevTools class inspection.
Is my URL or analysis stored anywhere?
Your URL is sent to a Briskly API endpoint that fetches it server-side (browser CORS would block doing this client-side for arbitrary URLs). The fetched HTML is returned to your browser and scored locally. The URL and the HTML are not stored on Briskly's servers. The only thing kept is the URL in your browser's LocalStorage so you don't have to re-type it next visit; that data stays on your device.
What does the score actually mean? Is 50 good or bad?
Score is 0-100 where higher = more slop signature. 0-15: clean original design. 15-40: mostly original with a few defaults remaining. 40-70: noticeable AI-template signature. 70+: heavy slop, multiple defaults unchanged. The score is the sum of weighted rule matches divided by the maximum possible. A 50 means about half of the weighted signal is present, which usually reads as 'a recognizable template was used and only lightly customized'.
Why do you have a rule for Inter font specifically?
Because Inter is the default font of shadcn/ui, v0, Cursor, and most AI builders. It's a perfectly fine font; the issue is that it's the default for thousands of sites, so a page using Inter immediately blends in. Swapping Inter for any non-default typeface (Hanken Grotesk, Söhne, Haas Grotesk, Untitled Sans, Fraunces, Playfair Display) is the single fastest way to make a site stop looking generic. Same for Geist (the Vercel default), which the tool also flags but at a lower weight because Geist has slightly less reach than Inter.
Where do the detection rules come from?
The rules library is grounded in published 2026 AI-design-slop analyses: the Wikipedia 'Signs of AI writing' page (for the linguistic patterns), 925studios' 'AI Slop Web Design' guide, Developers Digest's '15 AI Design Slop Patterns', Muzli's 'Vibe Design in 2026', and Briskly's own anti-patterns library (used internally to keep briskly.tools off the slop list). Each rule cites the underlying observation; the suggestions are the canonical alternatives those sources recommend.
Writing companion: the AI Tell Killer kills the prose-side AI tells (em dashes, the word "comprehensive", sycophancy, the AI vocabulary cluster). For verifying AI-generated text after the fact, the AI Output Linter scans pasted text for the same tells with line numbers.