How to design a toggle list?

TL;DR
  • 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.

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.

🔔 Enable notifications
🛡️ Use enhanced security
🌙 Enable dark theme
🖼️ Show profile picture

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.

Toggle vs. checkbox vs. radio: Quick guide

Click on each component below to see when to use it.

🎚️ Toggle

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:

Turn on porch lights

✅ Good: The label clearly describes the action.

Porch lights

🚫 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.

🔔 Notifications
Receive weekly summary
Push alerts for mentions
🛡️ Privacy
Show online status
Allow profile lookup

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.

🌙 Enable dark mode

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.

Touch target size

Click anywhere on the larger shaded area.

Redundant indicators

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.

Essential setting 1

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.

Apple HIG

Minimalist. Toggle always in list row. Label is static. No "On/Off" text.

Wi-Fi
Material Design

Flexible. Allows icons, thumb states, and embedded descriptions.

Sync data
Currently On

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:

📚 Keep exploring

start your project with us.

Getting in touch
is easy .
Thank you for your message. It has been sent