Duotone SVG Icons: Color Guide
A practical guide to styling duotone SVG icons with layered color tokens, opacity control, and UI-safe contrast decisions.
Duotone icons can add hierarchy and depth, but they can also make interfaces noisy if color and opacity are inconsistent.
This guide gives a practical system you can use in production.
Why duotone needs a system
Single-color icons are easy to standardize. Duotone adds a second layer, so visual consistency depends on token discipline:
- primary tone for semantic emphasis
- secondary tone for shape support
- controlled opacity for depth without clutter
Without rules, duotone icons from different screens start feeling unrelated.
Interactive playground
Use this before setting global design tokens.
Duotone Color Playground
Adjust two-tone colors and opacity before applying them to your icon set.
Recommended token pattern
Define color tokens once:
:root {
--icon-primary: #2563eb;
--icon-secondary: #93c5fd;
--icon-secondary-opacity: 0.45;
}
Then map icon layers consistently.
Practical color rules
- Primary tone should carry semantic meaning.
- Secondary tone should support shape, not compete.
- Keep secondary opacity between
0.25and0.55for most UI. - Test in both light and dark surfaces.
Where duotone works best
- dashboard highlights
- status summaries
- onboarding illustrations
- non-critical decorative support visuals
Where to avoid duotone
- dense form controls
- compact tables
- tiny action icons at
16px
At very small sizes, dual layers can reduce clarity.
For 16px action icons, mono-tone or simple outline icons are usually more readable than duotone.
Example packs with duotone coverage
QA checklist before rollout
- Verify contrast on light and dark backgrounds
- Check disabled and hover states
- Test at multiple sizes (16, 20, 24, 32)
- Ensure semantic color meaning remains clear
Related guides
Practical FAQ
Rollout checklist
- token values documented
- opacity range standardized
- dark-mode validation completed
- small-size readability tested
Final recommendation
Use duotone selectively where hierarchy benefits are clear. If clarity drops at small sizes, fall back to single-tone icons for critical controls.
Implementation template
Document duotone usage per component class:
- nav/status icons: single-tone preferred
- feature/KPI visuals: duotone allowed
- alerts: duotone only if semantic contrast is preserved
This keeps color depth intentional rather than arbitrary.
Additional source references: 1 2 3.