Lesson 16 of 30
An icon is a tiny glyph, and glyphs need the same consistency rules a typeface does. Mix stroke weights or corner radii across a product and it reads as sloppy even when every individual icon is clean.
10 min read
Every option explains itself — why the right one is right, and why each wrong one is wrong. Miss one and it comes back later on a spaced-repetition schedule.
Question 1 of 3
A toolbar pulls a trash icon from one icon library and a delete icon from another. Both are individually well-drawn, but placed side by side the toolbar looks inconsistent. What's actually causing that?
Hints without spoilers, and a plain explanation of why a wrong answer was wrong — answered only from this lesson. Free account, no card.
Sign up freeWhat interviewers actually ask about this, and what a strong answer has to cover.
A strong answer covers
Likely follow-ups
An icon set is a visual language, and like any language it needs internal consistency to read as one voice. The dimensions that matter are the same ones a type system cares about, just applied to shapes instead of letterforms: stroke width (how thick the lines are), corner radius (sharp vs. rounded terminals), grid size (the bounding box every icon is drawn inside, usually 16, 20, or 24px), and filled vs. outline style. Two icons can each be individually well-drawn and still visibly clash the moment they sit next to each other with different values on any of these.
The most common way this breaks in practice isn't a designer drawing bad icons — it's a codebase pulling icons from two different libraries. Library A draws on a 24px grid with a 1.5px rounded stroke; library B draws on a 20px grid with a 2px square stroke. Individually, both look fine. Side by side, the product looks like it was assembled from two different apps, because it was.
<TrashIcon strokeWidth={1.5} /> {/* icon-library-a: 24px grid, rounded line caps */}
<DeleteIcon strokeWidth={2} /> {/* icon-library-b: 20px grid, square line caps */}
Nothing here is a bug — both components render valid, readable icons. The problem only shows up visually, once they're placed in the same toolbar: one line is noticeably thinner, one corner is noticeably sharper, and a user's eye registers "inconsistent" before they could ever articulate why. Fixing it isn't a matter of picking a "better" icon — it's picking one icon library (or one internally consistent custom set) for the whole product and never mixing in a second one, the same discipline the type-scale and spacing-scale lessons already argued for.
<button aria-label="Delete item">
<TrashIcon aria-hidden="true" />
</button>
title attributes — an icon-only control always needs a real aria-label regardless of whether it also shows a tooltip on hover."This app's icons look inconsistent, what would you check" is testing whether a candidate can name concrete, systemic causes — mismatched stroke width, grid size, or two icon libraries in one codebase — instead of a vague "make them match better." The stronger answer also catches the accessibility half of the same question unprompted: an icon-only button needs a real label independent of any tooltip.