All 141 tools / Interface writing and content
Look for deceptive-design signals, such as confirmshaming and pre-ticked boxes, in copy, markup or a page.
Dark patternsFreeFor designers, product teams and researchers
20/day
free runs a day, no sign-in.
Before: what you give it
The example input, as typed in. You paste text, CSS, markup or notes.
heading: Go Premium button: Start my free trial link: No thanks, I don't like saving money text: Free trial, then $79.99/yr billed annually. Auto-renews unless cancelled. text: Only 2 left in stock! Offer ends in 09:59:59 checkbox: [x] Send me partner offers and share my details with third parties text: To cancel, call customer support during business hours. text: 1,200 people bought this today signup: 2 steps cancel: 6 steps
After: what comes back
The first lines of a real run on that input. Nothing here is edited by hand.
Checked the supplied text and markup. 9 signals: 4 high, 3 medium, 2 low, across 7 pattern types (confirmshaming; pre-selected options; forced continuity / hard to cancel; obstruction; false urgency and fake scarcity; misdirection by visual weight; social proof claims without a source). [high] confirmshaming (line 3) Evidence: link: No thanks, I don't like saving money Why it matters: The decline option is worded to make the person feel foolish or guilty for saying no. Fix: Use a neutral decline label that mirrors the accept label: 'No thanks' or 'Not now'. Frameworks that echo this: EU Digital Services Act dark-patterns ban on manipulating choices; CPRA definition of a dark pattern (design that subverts or impairs user choice) [high] pre-selected options (line 6) Evidence: checkbox: [x] Send me partner offers and share my details with third parties Why it matters: An option that adds a cost, shares data or opts into marketing is already switched on. Fix: Start the box unchecked. Make the person tick it. ... full output on the tool page
What you get
Signals by severity, each with the evidence line, why it matters, a fix and the rules it echoes
What it cannot do
Signals for review, not a legal finding; a live URL is read as static HTML only.
Who it is for
- Designers
- Product teams
- Researchers
Free and Pro
| Free | 20 runs a day per IP address, up to 50,000 characters a run. |
|---|---|
| Pro | No daily limit, 300 requests a minute, up to 200,000 characters a run. |
Use it from your assistant
The tool is called audit_dark_patterns. Connect the server once, then ask for it by name or just describe the job. Install steps for each app.
claude mcp add --transport http designers https://designers.allthepossibles.com/mcp
curl -X POST https://designers.allthepossibles.com/api/dark-patterns -H 'content-type: application/json' -d '{"text":"heading: Go Premium\nbutton: Start my free trial\nlink: No thanks, I don'\''t like saving money\ntext: Free trial, then $79.99/yr billed annually. Auto-renews unless cancelled.\ntext: Only 2 left in stock! Offer ends in 09:59:59\ncheckbox: [x] Send me partner offers and share my details with third parties\ntext: To cancel, call customer support during business hours.\ntext: 1,200 people bought this today\nsignup: 2 steps\ncancel: 6 steps"}'
Try it here
The form starts with the same example input, so you can run it first and then swap in your own.
More in interface writing and content
- UI copy
Review buttons, errors, empty states and tooltips for what each must do, and flag AI-writing tells.
- Disclosure copy
Score fee, rate, terms, consent and error copy for reading level and flag legalese and vague money words.
- Error message check
Find error and status messages that blame, give no next step or vanish too fast, and get a fix template
- Microcopy review
Review buttons, labels, tooltips, empty states and confirmations for vague or filler wording
- Error state skeleton
Assemble inline, banner and full-page error message drafts from the problem, cause and fix you give
- Content hierarchy
Check that key terms appear early and headings work on their own, inverted-pyramid style