I am working on some wireframes for a webportal. In a form in this webportal there is an enormous list (120 items) of options, and users have to go through (and read) all of them.

It's not possible to devide these options into catogories, and the length of the labels is very variable.

The goal of these wireframes I'm developing is to make this form a lot less stressful to go through, unfortunately I'm stuck with these checkboxes.

The best I came up with was a scrollable list like this one:

scrollable list checkbox

  • 1
    Why do users have to read the full list? Don't they know what they're looking for before they see it?
    – Matt Obee
    May 8, 2015 at 14:25
  • 2
    Yeah, there's probably a better solution than checkboxes for this selection problem. Could you describe the task a little more? Why are people selecting these things? Do they need to make all their selections at once? May 8, 2015 at 14:30
  • @KenMohnkern It's like a sign up page for companies. The user has to select every product they sell, but the names of these products could be called different in other companies. The user has to check every product to see if they sell it with a different name. May 8, 2015 at 14:33
  • Please add your clarification(s) on the purpose of this to your description by editing the question. I'm not sure if I understood the use case correctly: A company X applies at your client's company. X is asked to enter products the company sells. One would enter "green vegetables and yellow fruits". Then company X should additonally check items from a list to generate a detailled set of product/item descriptions/names of their product portfolio? Correct? May 9, 2015 at 13:56
  • Why don't you let the user upload a list of PLU and/or UPC codes? They're likely to already have such lists and it would save time on both ends. May 9, 2015 at 16:22

4 Answers 4


This is where UX is being tasked to fix something that isn't fixable at the UX level. I'd go as far to say this is where a back end system is unfairly asking a user to make decisions that they shouldn't have to.

If the issue is that people enter items they sell under a different name than what's already in the system, then the proper solution would be a smarter back end.

Option 1: Build a better back-end language parser

Let users input their items by typing them (perhaps keep the checklist for those that prefer that method).

As they type each item and hit return, the system should look up the item and check for both a) common mispellings and then b) look up synonyms in a table

So perhaps a user types in an item:

[ BOOZE    ]

Upon hitting return, you may see:

[          ]
• Alcohol (match for 'booze') 

Option 2: Duct tape

If improving the technology is out of your hands, about the best you can do is make a giant list of checkmarks less painful. I'd start by getting rid of any scrolling. Instead, make the selection of items a separate task with a page of it's own. List all of them on one page, perhaps in columns. I'd also add a filterable search at the top that, as a user types in the field, it reduces the checkboxes shown to only those that are matches. This can all be done client-side via Javascript.


I would try something like GMail tags.

You have a filter and the list of checkboxes inside a scroll area

You have a filter and the list of checkboxes inside a scroll area

Other good option is something like Pocket Chrome plugin

you have a filter and the selected items become a tag

You have a filter and the selected items become a tag


I had to face same problem a few days ago, and came with this solution ! In my cases list weren't that long so I used a tag system so user can have a list of the items that he/she selected. enter image description here


I think a side-by-side list widget would be appropriate for this situation. It goes by many names. See: Name for widget with side-by-side available/selected listboxes?

Also, you should provide a search box to dynamically filter the list of available items as the user types.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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