# How many keywords does an icon need?

> Four keywords per icon makes a set searchable by synonym. Fifteen makes it searchable by sentence. Here is what to write, what to leave out, and how to measure it.

URL: https://semanticicons.com/blog/how-many-keywords-does-an-icon-need
Published: 2026-09-23
Updated: 2026-09-23

We raised the average keyword count on a 3000 icon set from 6.4 to 17.5. Retrieval on a fixed set of prose test phrases went from 50 correct to 63, out of 64.

That is the headline, and it is misleading on its own. The count is not the thing that helped. **What the keywords said** is the thing that helped.

## The three kinds of keyword

Take a trash can icon.

**Synonyms for the object.** `bin`, `waste basket`, `rubbish bin`, `garbage can`. These are cheap to write and they catch the reader who knows what the object is but calls it something else. Two or three is enough. A fourth adds nothing.

**Verbs and intents.** `delete`, `remove`, `discard`, `clear`, `empty`. These catch the reader who knows what they want to *do*. This is where most sets stop.

**Situations.** `throw it away`, `get rid of this`, `I do not need this any more`, `clean up the drafts`. These catch the reader who describes the moment rather than the object.

The third kind is what moved our number. It is also the kind that feels strange to write, because it does not look like a tag. Write it anyway. People search in sentences.

## Where the ceiling comes from

More is not linearly better. Past about twenty keywords, writers start reaching for words that belong to a neighbouring icon. A cup of tea acquires `kettle`. A leaf acquires `autumn`, then `tree`, then `garden`.

Each of those is defensible on its own. Together they let one over-tagged icon shadow several correctly tagged ones. We hit this exactly: after the tagging pass, `put the kettle on` returned **cup of tea** instead of **kettle**.

The scoring fix is described in [why icon search returns the wrong icon](/blog/why-icon-search-returns-the-wrong-icon). The tagging rule that goes with it is simpler:

> Write a keyword only if a reader who typed it would be satisfied by *this* icon. If a better icon exists in the set, the keyword belongs to that one.

## What to leave out

- **The category.** It is already indexed separately. `animal` on every animal wastes twenty slots across the set and tells the ranker nothing.
- **Spelling variants.** `colour` and `color` should be handled by the normaliser, not by two tags.
- **Plurals.** A stemmer folds `books` to `book`. Writing both is a wasted slot and can double count.
- **The word `icon`.** Every entry is an icon.
- **Marketing words.** `modern`, `clean`, `minimal`. Nobody searches for these, and if they did you could not answer usefully.

## How to measure whether it worked

Counting keywords tells you nothing about retrieval. Two measurements do.

**A prose set.** Write forty to sixty phrases the way a reader would say them, each with the icon you expect. Run it on every change. Report the number returned at rank one. Ours reports 63 of 64.

**A shadow check.** Search for every icon by its own exact phrase. Every one should come back first. Any that does not is being shadowed by another icon's tags. The correct count is zero.

The shadow check is the cheap one and it catches the specific damage that generous tagging does. Run it in the build.

| Measurement | What it catches |
| --- | --- |
| Average keyword count | Nothing on its own |
| Prose set at rank one | Whether readers can find things |
| Shadow count | Whether tags are stealing from each other |

## A practical target

For a general purpose set:

- 2 to 3 synonyms for the object
- 3 to 5 verbs or intents
- 5 to 10 situations
- 0 category words

That lands near seventeen, which is where ours sits. Try it on [the set](/) and watch the score on each result.

## Questions people ask

### Do keywords need to be single words?

No, and they should not all be. `throw it away` is one keyword of three words, and it matches a phrase far better than three separate tags would.

### Will a search model make keywords unnecessary?

No. A vector search over an icon needs text to embed, and that text is the phrase plus the keywords. Thin tags produce thin vectors. Both layers read the same source.

### Should I generate keywords with a model?

Yes, with a check. A model writes good situation tags quickly. It also over-reaches, so run the shadow check afterwards and expect to cap how many tags one icon can use for one word.

### What if two icons genuinely share a keyword?

That is fine and common. The ranker uses rarity, so a shared word simply counts for less. The fault is only when one icon holds several tags for the same idea.
