We're having a design argument on my team. What do you guys think? Checkboxes or toggles for a desktop app?

If there isn't a "one size fits all" approach, then what factors would determine if checkboxes or toggles are most applicable?

closed as primarily opinion-based by Devin, Graham Herrli, Mayo, JonW Nov 14 '15 at 8:13

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    I, for one, would need much more information than this. Ultimately, depending upon how you think about it a checkbox is a type of toggle button - you toggle the checkmark on and off. – Mayo Nov 13 '15 at 17:46

Context is everything

When you say desktop app, are you talking about native or desktop web? There's a big difference there with control types. For true desktop apps, deviate from the OS convention with great trepidation.

Does the desktop app have a mobile counter part? Which will users access more often? It's arguable that toggles are better on mobile, purely based on convention and expectations. It's worth consider how fluid the experience is between platforms.

What about the rest of your controls: Are they very touch-like, or is it a more traditional desktop experience? You want to make sure that controls are consistent across your experience.

As far as data, I don't think you're going to find a hard answer. Toggles are rapidly becoming more familiar in UIs but they do carry some risks as evidenced here on UX.SE. There's little chance that you'll lose anyone with a checkbox. In fact, even if they might look slightly out of place in some mobile contexts, users will still instinctively use them correctly (just make the tap target big).


As mentioned by @plainclothes the context is the key aspect.

However for the UX discussion its wise to understand the origin or real-life usage pattern of checkboxes and toggles.

Toggles (or switches) are commonly used as the light switches. You can also note that you typically do not have many such switches on one wall. Other common case is the on/off switch on a device (e.g. your computer). In any case the result is that once switched on, you continuously allow to flow the energy until you switch it off. And the user is expected to control when s/he switches it off.

If that is the case in your app I would use switch / toggle.

Checkboxes have the origin in paper forms. Therefore it got its way into the HTML forms. You can see many check boxes on one form. Essentially the checked box declares the conscious selection. User typically decides and acts once on the checkbox and moves on. That's why it is a common pattern in desktop app settings.


  • 1
    That is a dirty switch. – Bryce Snyder Oct 21 '16 at 14:52

My thought:

Checkbox is a form component that indicates a selection, choice or an "Ok". It should not be used for ON/OFF behavior although sometimes ON/OFF and Choice are hard to differentiate (although it may be used for ON/OFF if it's something that occurs after sending the form). Discussion about usages of the checkbox in Windows 8 UI Guidelines: https://msdn.microsoft.com/en-US/library/windows/apps/hh700393

Toggle is a control, so it should be used for ON/OFF immediately occurring behavior so it should not be used to indicate selection (although it may). Discussion about usages of the toggle in Windows 8 UI Guidelines: https://msdn.microsoft.com/en-US/library/windows/apps/hh465475

Of course it's not set in stone and you should choose accordingly to what will be seamless to the user. You don't want them to think "What is this? How do i use it?" so always think what would be more natural for them.

Other similar discussions:



Checkbox vs toggle


  • They are both binary controls. If a checkbox is unchecked, it's in the 'off' state. – plainclothes Nov 13 '15 at 22:14
  • 1
    Yes, but what matter is the metaphor, the checkbox metaphor in most cases isn't an on off, its a choice or a done/not done. While the toggle metaphor is a on/off button metaphor. Of course both may be used to convey a on off or a select metaphor, but if it's not used in the right place each of them will give a slight confusion to the user. It'll may not make the user unable to use the application, but it'll make them think a little. But since this has already been discussed elsewhere i will add to the answer the Windows 8 UI Guidelines. – Gabriel Fonseca Nov 14 '15 at 13:49
  • I can't say that I agree but your point is well stated. The underlying metaphor is something to consider. I would caution against one thing: unless you're building a Windows app, I wouldn't rely on those guidelines. They suffer from some considerable usability issues. – plainclothes Nov 14 '15 at 19:08
  • Yes, i agree. You can see in the similar discussions i listed that in "Checkbox vs Toggle" the use of toggle is very criticized as one thing that should never have existed in the form used by both windows 8, OSX, iOS and Android. Still if he considers using Toggle he may as well see the windows 8 guidelines, the osx and the ios guidelines and the android guidelines. They're all very similar, but aren't a good experience to some users, but it may be that one day users will be at ease using them. – Gabriel Fonseca Nov 14 '15 at 21:40

Don't use a check box as an on/off control or to perform a command; instead, use a toggle switch Are on/off switches acceptable in desktop UI

  • 1
    Since when are checkboxes unacceptable for binary controls? – plainclothes Nov 13 '15 at 18:41

I should not be an either or situation. Both have their proper usage.

Checkboxes are best used when you indicate something is selected / not selected. Toggles are best used when you want to include something, especially for table selection where a user needs to select x rows and then take an action.

Toggles in most cases, always have a value in that selection is either on/off but there is no unselected value. Toggles are best used when trying to indicate state of something. Wifi on/off toggle is a great usage example.

Not the answer you're looking for? Browse other questions tagged or ask your own question.