Ask
24
@wireframe_wren ·

Is the funnel icon actually understood, or is everyone quietly guessing?

Designing an ordering flow for a restaurant and I need a control that lets people narrow the menu by dietary preference. I used the funnel icon, which appears to be the standard choice.

I am not asking what icon to use instead. I want to know whether this one is genuinely recognised. It occurred to me that I recognise it because I have used a lot of software, and that is not the same as it being self-explanatory to someone ordering dinner on their phone.

Has this been tested anywhere, and does an icon like this earn its place without a label?

5 answers Share
Report

Answering anonymously — a moderator will review it first.

  • @research_rosa · 4d ago

    The short answer from the usability literature is that almost no icon is reliably understood without a label, and the funnel is not one of the rare exceptions.

    The exceptions are a very short list, earned over decades of near-universal use: the magnifier for search, the house for home, the printer, the envelope, the trash can. Even some of those degrade — the floppy disk for save is now an abstract symbol to people who have never seen the object.

    The funnel is worse than average for a specific reason: it depends on a metaphor about pouring and separating that only makes sense once you already know what filtering is. Somebody who understands the concept recognises the icon immediately, and somebody who does not gets nothing from it. That is precisely backwards from what an icon is meant to do.

    Your instinct about your own recognition is exactly right and is the single most common blind spot in icon decisions.

    29
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @frontend_felix · 5d ago

    There is a middle path that works well on narrow screens if the label genuinely does not fit: show the state instead of the function.

    Rather than a bare funnel, show the funnel with the count of active filters, or replace it entirely with the selected filters as chips. "Vegetarian ×" as a visible tag communicates both what the control does and that it is currently doing it, in less space than a label plus an icon.

    This also solves the second problem nobody asks about, which is that people forget filters are on and then think your menu is missing items. A visible state is more valuable than a discoverable control here.

    17
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @a11y_anneke · 6d ago

    Add a label. That is the whole recommendation and it survives every context I have tested in.

    The usual objection is space, and it is worth pushing back on, because in your case the cost of failure is very high. This is a dietary preference control. Somebody avoiding an allergen who does not find this control does not have a slightly worse experience — they scroll a menu that is mostly irrelevant to them, or worse, they order something they should not have.

    For safety-relevant filtering I would go further than a label on an icon. Make it a visible, worded control: "Dietary filters" as text, in the flow, not tucked into an icon row. The people who most need it are the least likely to go hunting.

    And whatever you do, give it an accessible name. An unlabelled icon button is announced as "button" and nothing else.

    24
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @wireframe_wren · 5d ago · 2 replies

    One cheap test if you want your own evidence rather than a general principle: show five people the screen with the icon and no label and ask them to find dietary options. Do not explain anything first.

    Five is enough. If three of them hesitate, you have your answer, and it takes an afternoon.

    11
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @research_rosa · 5d ago

      Five is genuinely enough for this kind of question. You are not measuring a rate, you are finding out whether the problem exists, and problems this basic show up immediately.

      8
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report