How to design a toggle list?
-
A toggle list is a group of independent on/off switches that act instantly and without confirmation.
-
Best for managing multiple unrelated settings like notifications, permissions, or feature flags.
- Not for mutually exclusive choices (that's radio buttons or segmented controls).
-
Group related toggles, use clear action-first labels, and provide immediate system feedback.
-
Avoid overloading users; collapse rarely-used toggles or provide smart defaults to reduce fatigue.
- Apple uses toggles minimally inside settings; Google allows more flexible use but requires clear labels.
What is a toggle list?
⚠️ Terminology note In Notion, “Toggle List” refers to a collapsible content block. In UX component design (like in design systems or settings panels), a toggle list means a list of independent toggle switches, and that’s what we’re covering here. |
A toggle list is a stack of binary on/off switches, each tied to a single, independent setting. You’ll see them in notification preferences, accessibility menus, admin dashboards, workspace permission controls, and anywhere users need to turn something on or off.
Each toggle works instantly. There’s no "Apply" button. When it’s ON, the feature is active. When it’s OFF, it’s not. That’s it.
A well-designed toggle list:
-
is easy to scan;
-
acts immediately when flipped;
-
groups toggles by topic;
-
offers clear, consistent feedback.
And most importantly: it behaves the way users expect.
When to use a toggle list
Toggle lists work best when users need to control multiple independent settings, and each setting can be flipped instantly without confirmation or context switching.
This pattern is common in:
-
app notification preferences (email, push, SMS);
-
permission toggles for user roles or access;
-
feature flags and beta settings;
-
accessibility tools (like reduced motion or high contrast).
The core behavior: each toggle acts independently, and when it’s flipped, the change happens right away. This pattern is familiar and scalable, especially when users want to scan options and flip a few on or off without friction.
When not to use one
Toggle lists break down in the wrong context. Don’t use them if:
-
the action needs confirmation (like submitting a form);
-
the options are interdependent (like selecting one plan tier);
-
you’re allowing multiple selections for a combined action, like choosing toppings or filters (use checkboxes instead);
-
you’re asking the user to pick just one from a set (use radios instead).
In those cases, toggles create confusion: users expect immediate results, but instead they’re stuck wondering if anything happened.
A good rule of thumb: if the system needs a second step to apply the change, don’t use a toggle.
Click on each component below to see when to use it.
Use toggles for binary settings that take effect immediately (e.g., enable dark mode).
Number of options
2
Immediate effect?
Yes
Requires submit?
No
Toggle list UX best practices
1. Use action-based, static labels
Labels should read like verbs or clear statements that describe what happens when toggled on:
✅ Good: The label clearly describes the action.
🚫 Bad: Ambiguous. Does this show the status or toggle it?
Avoid labels that change based on toggle state. Instead, pair static labels with visual state cues ("On"/"Off").
2. Group toggles by purpose
Don’t dump 20 toggles into a scrollable abyss. Organize settings into clear categories like “Privacy,” “Notifications,” or “Permissions.” If you’re designing more than 5-6 toggles, use subheadings or dividers to keep the list readable.
3. Provide immediate feedback and system response
This is non-negotiable.
Toggles work because they mimic real-world light switches, so the change should be visible immediately.
Toggling this switch instantly changes the demo theme.
If a toggle controls a setting that needs review or backend confirmation, it's better to use a checkbox and a “Save” button instead. Or, if you really need to, show a loading spinner, toast, animation, or “Saving…” status near the toggle to maintain confidence and avoid ambiguity.
4. Use redundant visual indicators, not just color
Green for “on” and gray for “off” is common, but don’t rely solely on color:
-
use strong visual distinction between ON and OFF (e.g., bright blue/green vs. gray);
-
avoid red for “On” states, as users expect green or blue instead;
-
include text indicators like “On” / “Off” for screen readers.
This supports users with color blindness and improves clarity across all contexts.
5. Design for accessibility
Make toggles usable for everyone: keyboard users, screen reader users, and mobile users.
Keyboard interaction:
-
reachable via Tab, activatable with Enter or Space;
-
high-contrast focus indicators (outline or shadow);
-
logical tab order (top to bottom, left to right).
Screen reader support:
-
use role="switch";
-
use aria-checked="true/false" for state;
-
pair with a <label> or aria-labelledby to describe the control.
Sizing:
-
minimum 44×44px tappable area for mobile;
-
invisible padding around small toggles for easier touch access.
Click anywhere on the larger shaded area.
Uses both color and On
/Off
text for clarity.
6. Limit list length to reduce fatigue
If over 8-10 toggles, consider collapsing advanced options under “Show more” or using smart defaults. Present only the most critical settings upfront to avoid overwhelming users.
This toggle is always visible.
Mistakes to avoid with toggle lists
-
Toggles inside forms: Users expect form fields to be reviewed and submitted. If a toggle takes effect immediately inside a form, it breaks the mental model.
-
Using toggles for filters or multi-select controls: Checkboxes are better suited here. Toggle = binary, not group logic.
-
Unclear or changing labels: A label that changes based on state ("Dark Mode: On" → "Dark Mode: Off") causes unnecessary re-evaluation. Let the switch do the work.
-
No feedback: If a toggle initiates a server call or background sync, show a spinner or temporary “Saving...” indicator.
-
Inconsistent styling across pages: Design systems exist for a reason. Don’t let toggles look and behave differently in different views.
-
Reinventing basic patterns: Custom icons, sideways toggles, or “creative” states only confuse users. Stick to what works.
-
Overloading users with too many switches: A list of 15+ toggles creates choice paralysis. Prioritize or progressively disclose.
Apple vs Google: Two design philosophies
You can’t ignore platform conventions — users won’t.
Apple’s HIG (Human Interface Guidelines)
Apple has strict rules for toggles (called "switches"):
-
switches must appear in list rows, typically in Settings;
-
labels are placed in the list row, not the toggle itself;
-
no inline "On" or "Off" text; instead, state is shown visually;
-
prioritizes clarity through whitespace and hierarchy.
It’s minimalist, predictable, and ideal for settings where toggles are always aligned the same way.
Google’s Material Design
Material Design (especially v3) is more flexible:
-
switches can be placed in forms, cards, or any container;
-
labels describe both the setting and current state;
-
supports icons inside the switch thumb;
-
focuses on clarity, accessibility, and adaptability.
Minimalist. Toggle always in list row. Label is static. No "On/Off" text.
Flexible. Allows icons, thumb states, and embedded descriptions.
Where Apple emphasizes restraint, Google prioritizes explicit guidance. Both work, but mixing them in one app confuses users. If you’re designing natively, follow the platform. But if you’re building cross-platform web apps, define your own pattern and stick to it.
💡 Questions designers should ask themselves
-
Does each toggle control a single, independent feature?
-
Should they take effect immediately?
-
Are labels action-first and clear?
-
Would a checkbox group with “Save” make more sense?
-
Does the list avoid decision overload?
-
Is the toggle accessible via keyboard and screen reader?
🤝 Credits
This guide reflects the collective experience of Cieden’s product designers and the work of accessibility experts, interface researchers, and UX thinkers. Special thanks to:
-
Al‑Jasim & Murano for research-backed guidelines
-
Nielsen Norman Group’s toggle switch principles
- Accessibility checklists from Carbon Design System
📚 Keep exploring
- Radio Buttons, Checkboxes, Toggle Switches by Nick Babich
-
Toggle button design patterns by Justinmind
-
On Designing and Building Toggle Switches by Sara Soueidan
- How to Build a Toggle Switch in Figma by UX Planet