Take the 2-minute tour ×

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.

share|improve this question
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. –  Charles Boyung Mar 23 '11 at 18:30
possible duplicate of FORMS: When to use dropdowns, and when to use dynamic lists? –  Charles Boyung Mar 23 '11 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. –  Steven Benitez Mar 23 '11 at 19:10

5 Answers 5

up vote 7 down vote accepted

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.

share|improve this answer
This seems like a good rule of thumb. Thanks, Vitaly! –  Steven Benitez Mar 24 '11 at 6:37
agree, maybe split the countries in continents, so you have 2 select boxes, but less scrolling. –  user1721135 Feb 8 '13 at 16:49

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

share|improve this answer
RE: your part about putting certain countries at the top of the dropdown: ui.stackexchange.com/questions/1022/… –  Charles Boyung Mar 23 '11 at 18:36
Thanks for your feedback, James. –  Steven Benitez Mar 24 '11 at 6:36

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.

share|improve this answer
You make a good point about restricting what can be entered via autocomplete. –  Steven Benitez Mar 24 '11 at 6:34

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

share|improve this answer


how was it addressed? –  Homer Aug 2 '13 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

share|improve this answer
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 Jan 16 '13 at 15:36
Your example is for pagination, though. How would this apply to other cases like countries or makes of cars, etc? –  Steven Benitez Jan 16 '13 at 18:54

Your Answer


