A colleague and I were discussing usability and drop downs and we wanted to know:

Is there a best practice or rule-of-thumb for how many items in a web form drop down (select) is too many? At what point should I shift from a drop down to something like an Ajax auto-complete?

This was prompted by a country drop down, which would have a few hundred entries, but is of interest to us in general, as well. Our user community is generally very novice.

  • Wow, several hundred countries? Are you including every country that has ever existed? Because last I checked, there were fewer than 200 countries on the planet right now. Commented Mar 23, 2011 at 18:30
  • 1
    possible duplicate of FORMS: When to use dropdowns, and when to use dynamic lists? Commented Mar 23, 2011 at 18:35
  • Sorry, I said several when I meant a few. I've clarified. I believe there are ~ 195 countries. The question is oriented more toward drop downs in general, though. Countries was just the current example. Commented Mar 23, 2011 at 19:10

5 Answers 5


From the Microsoft Guidelines:

Choose a list length that eliminates unnecessary vertical scrolling. Because drop-down lists are displayed on demand, their lists should show up to 30 items. Editable list boxes (those that don't have a drop-down button) should show between 3 and 12 items.

This refers mostly to desktop applications, but I'm not sure there's much difference in this regard. And the bit about the scrolling is important. I think that once you have over three list-lengths, it's time to start looking for another control.

BTW: an extremely similar question about this on IxDA from a while back.

  • This seems like a good rule of thumb. Thanks, Vitaly! Commented Mar 24, 2011 at 6:37
  • agree, maybe split the countries in continents, so you have 2 select boxes, but less scrolling. Commented Feb 8, 2013 at 16:49
  • Both your links are dead :(
    – Welz
    Commented Sep 13, 2019 at 18:39

I'd say the question is one of too many. If you think of your standard country drop-down, it would be completely unusable if it weren't for the fact that you know the name you're looking for. Auto-complete on a country is not a bad idea since users will type it correctly for the most part and get relevant names almost immediately. This would stop the really bad interaction associated with scrolling through all country names.

Another way to approach it is, if you know most users are in a couple countries, like the US and Canada, put them at the top, out of alpha order and then alpha everything else.

In terms of navigation and menu options, some people feel optimal is around 7 items, but with the current trend to megamenus and info rich sites, this is potentially outdated, going back some time. Plus, this is psychology related to short-term memorization and not scanning. We can perceive very large numbers of options. Big menus risk being a wall of text so moving toward ajax features such as auto-complete, where possible, is a good solution.

You can see more about the 7 +/- 2 options and whether it is particularly valid at http://drdobbs.com/web-development/184412300 ...


As a user a drop down with a list of several hundred countries is annoying. The real question isn't whether or not it's to many, since they all have to be there, but rather what solutions are available as a viable alternative.

I would think an auto-complete would be a good solution. Even with a novice user one would assume that they know how to spell their own country and thus prompting them with the auto complete when they get close would be great.

The down-side to the auto-complete box would be if the user does not use the auto-complete option and misspells the country name or presents it in a format that is not what you are looking for. For instance they could write USA or US or United States or United States of America, so then you would need logic to ask the user if they actually ment XYZ instead of what they typed. That notice would have to be a passive notice that the user could choose to use or not... because at the end of the day collecting data, even inaccurate is better then having the user get frustrated and leave.

  • You make a good point about restricting what can be entered via autocomplete. Commented Mar 24, 2011 at 6:34

For an example see how this is addressed by the growth in stackexchange leagues.

  • how was it addressed?
    – Homer
    Commented Aug 2, 2013 at 15:06

Well, in my drop downs there are sometimes 300 and more items and it still works smoothly.

Now I have about 20000 items to show and think what to do with them - for the drop down it's too much

I've seen in PHPMYADMIN console (of XAMPP) how they solve this issue:

so you have 20000 items. currently selected item is X? so the drop down has the following items:

  • if X < 50: show all;

  • if X > 50: show the follwing: 1...50, 100, 200, 300, 500, 1000, X-10....X+10,20000

it doesn't matter how many items you got - there's always 76 items (or less) in your shiny fancy drop down thing

  • I don't really understand how the Greater than 50 items part works. Can you sketch this up and stick it on imgur.com or something so we can see how this looks visually?
    – JonW
    Commented Jan 16, 2013 at 15:36
  • Your example is for pagination, though. How would this apply to other cases like countries or makes of cars, etc? Commented Jan 16, 2013 at 18:54

Your Answer

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

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