About DoNotCopyThis
The definitive collection of terrible UI patterns you should never, ever use.
Our Mission
To catalog and demonstrate the worst possible user interface patterns, helping designers and developers learn what NOT to do by experiencing these anti-patterns firsthand.
Educational Value
Each terrible control comes with detailed explanations of why it's bad, what UX principles it violates, and how it affects users. Learn by negative example.
How to Use This Site
Explore Controls
Browse our collection of terrible UI controls. Use search and filters to find specific types of awfulness.
Experience the Pain
Try the live demos to feel the frustration firsthand. Each control is fully interactive.
Learn & Share
Read explanations of why each pattern is terrible. Copy code examples to show colleagues what NOT to do.
Categories of Terrible
Input Controls
Form inputs that make data entry a nightmare through physics, voice control, or pure randomness.
Navigation
Menus and navigation that actively work against user intentions.
Feedback & Progress
Progress indicators and feedback that mislead, frustrate, or outright lie to users.
Layout & Visibility
Hidden elements, moving targets, and layouts that defy user expectations.
Features
- 20+ unique terrible UI controls
- Live, interactive demos of each control
- Detailed explanations of UX violations
- Copy-paste ready code in HTML/CSS/JS and React
- Embeddable iframe snippets
- Search and filter functionality
- Dark mode support (because even terrible UIs deserve good typography)
- "Hurt Me Mode" for the truly masochistic
- Responsive design (the one thing we did right)
A Living Collection
Our collection of terrible UI patterns continues to grow as we discover new and creative ways to make user interfaces more frustrating. Each pattern is carefully crafted to demonstrate specific anti-patterns and usability violations.