Stockio

Outline vs Filled Icons: Choosing Icon Styles for UI

Choose filled and outlined icons by meaning, density and state rather than fashion, with practical rules for consistent navigation and recognizable controls.

By Mateo Fernández

Illustrator & Colour Lead ·

On this page

Filled icons and outlined icons are different ways of distributing visual mass. A filled bell often makes a stronger silhouette; an outlined bell can feel lighter beside text. Neither treatment automatically communicates better. The useful question is which style preserves meaning, hierarchy, and state within the particular interface you are designing.

Compare styles in context, not isolation

Start with one realistic screen containing navigation, actions, and status information. Make two versions using paired variants from the same family. Keep size, labels, color, and placement identical. Otherwise you may mistake a larger canvas or stronger color for a benefit of the drawing style itself.

Use the contrast checker to compare the icon color against its adjacent background. Enter the actual foreground and surface values, including selected-state surfaces. The result checks color contrast, not whether a symbol is understandable or whether its thin details survive rendering.

Evaluate visual mass at the size users will see. An outlined icon can occupy a large canvas while producing very little visible material. A filled icon can remain clear at a smaller size, but tightly packed internal cutouts may close up. Export both and inspect them at normal zoom rather than relying on enlarged design-tool previews.

Choose a default style for each recurring role. For example, a product might use outlined action icons and filled status badges. This is more coherent than choosing whichever variant looks nicest for each individual symbol. Document the reason for any role-based distinction.

Use silhouettes when they improve recognition

Filled treatments work well when the outer silhouette carries the meaning: hearts, stars, flags, and simple media controls are common candidates. They can also provide a stronger anchor in compact navigation. The advantage comes from recognizable shape, not from fill as an abstract property.

Outlined treatments can be useful when interior structure distinguishes the object. A tray, panel, or document with meaningful internal divisions may need careful negative space. However, outlines are not inherently more descriptive: several nested strokes at 16 pixels may turn into a confusing knot.

Test recognition at size with the actual candidates. Show a small group of colleagues labeled controls, then ask which symbol they would expect for specific tasks. Follow up on ambiguity rather than collecting votes for a favorite aesthetic. Where labels will be absent, test the unlabelled controls separately and expect a higher risk of misunderstanding.

A useful comparison set includes search, settings, notifications, favorite, archive, and a domain-specific object. Search may behave similarly in both styles, while archive can expose important differences. The Material Symbols documentation demonstrates a family where fill is an explicit axis, helping distinguish a controlled variant from an unrelated replacement drawing.

Reserve style changes for clearly defined states

Switching from outline to fill can reinforce selection, especially for a favorite or saved item. It should not be your only signal. Pair it with a label, selected background, indicator, or other appropriate cue so users do not have to inspect subtle changes in the artwork.

Keep state meaning consistent. If fill means selected in a navigation rail, avoid using a filled icon to mean disabled in the same rail. Likewise, a filled warning triangle should not imply that warnings are selected. Distinguish a symbol's normal construction from a component's interactive state.

For a toggle button, preserve its accessible name and expose the pressed state. This example assumes a renderer supplies two decorative SVG variants:

function FavoriteButton({ saved, onToggle }) {
return (
  <button
    type="button"
    aria-label="Favorite"
    aria-pressed={saved}
    onClick={onToggle}
  >
    {saved ? (
      <FilledStar aria-hidden="true" />
    ) : (
      <OutlineStar aria-hidden="true" />
    )}
  </button>
);
}

The components shown are application-defined, not built-in browser elements. Use your chosen library's paired assets, and ensure both variants share a stable slot so switching state does not move neighboring content.

Consult the WAI button pattern for toggle semantics. For navigation, use the appropriate current-page indication instead of copying toggle behavior. Visual similarity between selected controls does not make their interaction semantics identical.

Balance density, weight and contrast

Filled artwork often attracts attention because it covers more area, but surrounding typography changes the result. A dense sidebar with bold labels and heavy filled symbols can become visually loud. A sparse toolbar with thin outlines can become too faint. Judge the combined rhythm of text and icons rather than either element alone.

Do not compensate for weak outlines only by making their color darker. First check whether the family offers a suitable weight or a smaller-size variant. Increasing stroke width arbitrarily can close gaps, distort corners, or make related symbols look inconsistent. Prefer designed weights over ad hoc path editing.

Review dark surfaces separately. Bright filled shapes may feel heavier against a dark background even when their geometry is unchanged. The existing dark-mode design guide provides useful context, but keep the decision grounded in your screen rather than a universal light-versus-dark rule.

For functional graphical objects, the WCAG non-text contrast explanation describes the relevant requirements and exceptions. Avoid reducing the decision to a single numerical score: contrast supports visibility, while shape, spacing, labels, and familiarity support recognition.

Write a small policy and audit exceptions

Create a style policy that names defaults for navigation, actions, status, and illustration-like decoration. Add one example for each category and show how selected, disabled, and destructive states are represented. A compact policy is easier to follow than an uncurated page of hundreds of symbols.

Review mixed styles intentionally. A solid warning icon among outlined actions can be appropriate because it serves a different role. A random solid download icon among otherwise outlined toolbar actions usually needs a stronger explanation. Consistency means predictable decisions, not an absolute ban on variation.

Keep an exception log for symbols that fail at small sizes or lack a paired variant. Record the chosen replacement and its reason. If exceptions multiply, reconsider the family instead of continuing to patch individual drawings. Browse the broader icon and illustration category for adjacent production concerns, while keeping this policy focused on style and meaning.

Finally, audit real screens after implementation. Designers may approve paired variants that developers accidentally mix with older assets. A screenshot review at ordinary display scale catches weight mismatches, disappearing cutouts, and inconsistent selection behavior that an asset list will miss.

Key takeaways

  • Choose styles through realistic screen comparisons, not isolated preferences.
  • Use fill changes to reinforce state, never as the only state cue.
  • Preserve readable silhouettes, stable slots, and appropriate control semantics.
  • Document role-based defaults and review exceptions before they become a second system.
Featured sponsor

Reach designers & developers at work

Put your product next to the tools people use every day. One sponsor per placement, no tracking pixels.

Become a sponsor

Keep reading

Related articles

More in Icons & Illustration
Accessibility

10 Best Accessibility Courses and Learning Resources

Learn practical web accessibility through standards, tutorials, videos, and real interface examples. These ten trusted resources help beginners and working teams build skills and choose a useful next step.

Includes: Contrast checkerNoor HaddadNoor Haddad
Accessibility

10 Best Accessibility Browser Extensions for Testing

Compare ten browser add-ons for spotting accessibility issues while you browse or build, from automated page scans to heading and contrast checks, plus advice for turning findings into fixes.

Includes: Contrast checkerTheo OkaforTheo Okafor
Accessibility

12 Best Accessibility Testing Tools for Websites

Compare twelve practical accessibility testing tools, from browser extensions and automated checks to screen readers and code libraries, and learn how to choose a sensible mix for your site.

Includes: Contrast checkerNoor HaddadNoor Haddad
Typography & Colour

10 Best Color Contrast Checkers for Accessibility

Find a contrast checker for colour choices in websites and apps, from quick foreground-background tests to browser and desktop audits, with practical advice for testing real interface states.

Includes: Contrast checkerNoor HaddadNoor Haddad
AI for Design & UX

AI Heatmap Analysis and Usability Test Recordings

Use AI to organise usability recordings and heatmap evidence without inventing motives. Build a reviewable workflow for consent, transcripts, themes and product decisions.

Includes: Contrast checkerMaya LindqvistMaya Lindqvist
UI Design

Tabs vs Segmented Control: When to Use Each

Separate content navigation from value selection, then design tabs and segmented controls with clear labels, selected states, responsive layouts, and keyboard behavior.

Includes: Contrast checkerTheo OkaforTheo Okafor