How to Identify Dark Patterns in Your UI (With Real Examples)
Dark patterns cost you users. Not gradually - quickly. A person who feels tricked into a subscription or confused into clicking the wrong button will leave, leave a bad review, or both. If you build products, you need to know how to spot these patterns, whether someone else put them there or whether you accidentally designed one yourself.
This guide walks through the most common dark patterns, how to recognise them, and what to do instead.
What a Dark Pattern Actually Is
A dark pattern is a UI design choice that benefits the company at the user's expense. The term was coined by UX designer Harry Brignull in 2010. The key word is "choice" - these are not accidents. They exploit how people process information.
Most dark patterns work because of well-documented cognitive biases. Loss aversion makes people afraid to click "cancel" when the button says "No thanks, I don't want to save money." The default effect means most users accept pre-ticked checkboxes without reading them. Scarcity cues ("Only 2 left!") trigger fast, emotional decisions rather than slow, deliberate ones.
Knowing the psychology behind a pattern helps you identify it faster.
Six Patterns to Check Your Product Against
1. Confirmshaming
This is the cancel button that insults the user for saying no. Examples include "No thanks, I prefer paying full price" or "I don't want to grow my business."
To check for this: read every negative CTA in your product out loud. If it sounds manipulative or guilt-inducing, it is.
The fix is simple: write neutral labels. "No thanks" or "Not now" is fine. You do not need to make users feel stupid for opting out.
2. Hidden Costs
The price shown on the product page is $29. At checkout, after the user has entered their card details, the total jumps to $41 because of a "service fee" and "processing charge."
The user has already invested time. The sunk cost makes them more likely to complete the purchase anyway. That is exactly what the pattern relies on.
Fix: show the total price - including all fees - before the user starts filling out forms. If your checkout flow has a cost summary step that appears after payment entry, move it earlier.
3. Roach Motel
Easy to get in, hard to get out. A subscription that takes two clicks to start but requires a phone call to cancel is a roach motel. So is an account that has no visible delete option.
To audit for this: map every "exit" action in your product. Cancelling a plan, deleting an account, unsubscribing from emails. Count the steps. If any exit takes more than three steps, or requires contacting support, you have a problem.
The standard is parity: the effort to leave should match the effort to join.
4. Trick Questions
These are checkboxes or toggles with confusing double-negative wording. "Uncheck this box if you do not want to opt out of marketing communications" is a real type of copy that appears on real forms.
Read every checkbox label in your forms and ask: if a tired person reads this once, do they know what happens when they check it? If not, rewrite it.
Plain version: "Send me marketing emails" with the box unchecked by default.
5. Misdirection
This uses visual hierarchy to draw attention away from information the user should see. A modal might have a large, colourful "Upgrade Now" button and a tiny grey "Continue with free plan" link that barely passes contrast ratios.
Run this test: take a screenshot of your UI and blur it slightly. Which elements are still visible? Those are the ones users will interact with. If the path you want them to avoid disappears under blur, you have misdirection.
Redesign so secondary options are legible and distinguishable, even if they are smaller than the primary CTA.
6. Privacy Zuckering
Named after a specific era of Facebook's cookie consent flows, this pattern makes privacy settings so complicated that users give up and accept everything.
The GDPR standard is a useful benchmark even if you are not in the EU: consent must be as easy to give as to withdraw. If your cookie banner has a one-click "Accept all" and a six-screen "Manage preferences" flow, that is not balanced consent.
How to Run a Dark Pattern Audit
- Write down every moment in your product where the user makes a decision.
- For each decision point, ask: who benefits if the user makes the default choice?
- If the answer is always "us, not the user," look closer.
- Test with someone who has never used your product. Watch where they hesitate or look confused.
- Read your microcopy (button labels, tooltips, error messages) in isolation. Does it manipulate or inform?
This audit takes a few hours for a small product. Do it once per quarter if your team ships frequently.