Iconography
Icons visually reinforce an interface action, file type, status, or category. They are visually simple, quickly recognizable, and easy to understand. They are almost always used in context with descriptive text and function to reinforce the message of that text.
Download web icons
The cfpb-icons component provides Scalable Vector Graphic (SVG) icons. This component can be used by itself, but is designed to work with the CFPB Design System.
Download the icon font
Our full icon set is available for desktop use as an icon font in OpenType format. It can be accessed through programs like Adobe Illustrator and Adobe InDesign via the Glyphs panel. The icon font should not be used for placing icons on a website.
Icon library
Use the canonical icon name when referencing the icons in code, however, “aliases” are provided in the table below to help you search this page for a particular icon.
- Navigation icons
- Status icons
- Social/sharing icons
- Communications icons
- Document icons
- Financial products, services, and concepts
- Expense icons
- Web application icons
- Numerical icons
The RTL (right-to-left) column designates whether an icon will flip on pages where the HTML element has its language set to an RTL-reading language, such as Arabic.
Navigation icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
up | chevron-up | |||
right | chevron-right | ✓ | ||
down | chevron-down | |||
left | chevron-left | ✓ | ||
arrow-up | ||||
arrow-right | ✓ | |||
arrow-down | ||||
arrow-left | ✓ | |||
left-right | horizontal | |||
up-down | vertical |
Status icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
approved | check, checkmark, success | |||
error | delete, close, remove, multiply, multiplication, x | |||
warning | alert, exclamation, exclamation-mark | |||
help | question, question-mark | ✓ | ||
update | ||||
updating | spinner | |||
power | on-off | |||
dollar | dollar-sign, cost | |||
plus | add, addition, expand, show | |||
minus | subtract, subtraction, collapse, hide | |||
divide | division | |||
equal | equals | |||
percentage | percent |
Social/sharing icons
icon | icon-square | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
envelope, envelope-back | ||||
flickr | ||||
github | ||||
x | ||||
youtube |
Communications icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
envelope-back | ||||
fax | fax-machine | |||
envelope-front | ||||
phone | telephone, handset | |||
photo | photography, camera | |||
presentation | screen | |||
technology | cellphone, tablet | |||
video | movie, camcorder | |||
web | globe, world |
Document icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
appendix | ||||
book | ✓ | |||
copy | duplicate | |||
document | doc, pdf, page | ✓ | ||
download | document-down | |||
upload | document-up | |||
edit | pencil, write | ✓ | ||
folder | ||||
folder-add | folder-plus | |||
folder-delete | folder-remove, folder-x | |||
folder-empty | ||||
folder-save | folder-check | |||
paper-clip | attach, attachment | ✓ | ||
printer | ||||
rss | feed | |||
save | disk, floppy-disk | |||
supplement | add-document, add-page |
Financial products, services, and concepts
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
activity | clipboard | |||
bank | bank-account | |||
building-credit | ||||
calculate | calculator | |||
car | car-loan, auto, auto-loan | |||
college | paying-for-college, grad-cap, mortarboard | |||
complaint | ||||
credit-card | ||||
credit-payment | credit-card-payment | |||
credit-repair | ||||
credit-report | document-check | |||
debt-collection | ||||
debt | ||||
foreclosure | ||||
fountain-pen | contract | |||
getting-a-credit-card | credit-card-contract | |||
health-insurance | medical | |||
house | buying-a-house, owning-a-home, home | |||
insurance | ||||
loan | ||||
money | dollar-bill, currency | |||
money-transfer | ||||
mortgage | ||||
payday-loan | ||||
prepaid-cards | prepaid-card, prepaid | |||
quick-cash | ||||
piggy-bank | retirement, saving, savings | |||
piggy-bank-check | ||||
servicemembers | dog-tags | |||
sold | ||||
split | ||||
toolbox |
Expense icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
briefcase | ||||
bus | public-transit | |||
cart | groceries, shopping, shopping-cart | ✓ | ||
childcare | baby-bottle | |||
clothes | shirt | |||
court | gavel | |||
dine-out | dining-out, pizza, pizza-slice, food | |||
disability | wheelchair | ✓ | ||
entertainment | ticket | |||
equipment | hammer, tools | |||
fall | autumn, leaf | |||
flower | garden | |||
furniture | chair, sofa | |||
gambling | ||||
gift | present, package | |||
healthcare | doctor | |||
monitor | ||||
pet | pets | |||
price-tag | ||||
spring | ||||
summer | sun | |||
taxes | government | |||
travel | airplane, flight | ✓ | ||
winter | snow, snowflake |
Web application icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
agreement | handshake | |||
audio-max | audio-high | |||
audio-medium | ||||
audio-low | ||||
audio-mute | mute, audio-off | |||
bookmark | ||||
unbookmark | ||||
broadcast | antenna, radio | |||
bullhorn | megaphone | ✓ | ||
chart | graph | ✓ | ||
clock | time | |||
compass | ||||
date | calendar | |||
dialogue | dialog, chat, discussion | |||
disabled | no, disallowed | |||
external-link | ✓ | |||
favorite | star, starred, fav, fave | |||
unfavorite | unstar, unstarred, unfav, unfave | |||
filter | sliders, controls | |||
flag | ||||
history | ||||
information | info, i | |||
lightbulb | idea | |||
link | ||||
list | ✓ | |||
lock | locked, padlock | |||
unlock | unlocked | |||
map | location | |||
menu | hamburger | |||
microphone | mic | |||
newspaper | news | |||
open-quote | ||||
close-quote | double-quote | |||
parent | family | |||
play | ||||
policy | law | |||
pop-up | new-window | |||
regulation | rule, justice | |||
search | zoom, magnifying-glass | |||
serve | hand, raise-hand | |||
settings | preferences, gear, cog | |||
share | ||||
share-alt | ||||
speech-bubble | chat-bubble | |||
thought-bubble | thinking, thoughts | |||
user | person | |||
wifi | wi-fi, wireless, signal |
Numerical icons
icon | icon-round | canonical name | aliases (for searchability only) | Right-to-left |
---|---|---|---|---|
zero-open | ||||
one-open | ||||
two-open | ||||
three-open | ||||
four-open | ||||
five-open | ||||
six-open | ||||
seven-open | ||||
eight-open | ||||
nine-open | ||||
zero-closed | ||||
one-closed | ||||
two-closed | ||||
three-closed | ||||
four-closed | ||||
five-closed | ||||
six-closed | ||||
seven-closed | ||||
eight-closed | ||||
nine-closed |
Implementation details
Each icon has a circular variant shown in the second column (or square, in the case of the social media icons) that can be accessed by appending -round (or -square) to the canonical name.
Animated icon
In certain instances, icons can be animated to aid communication or to reassure the user that an action is functioning as intended. Examples include saving or loading content.
HTML code snippet
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 19" class="cf-icon-svg cf-icon-svg--updating"><path d="M5.857 3.882v3.341a1.03 1.03 0 0 1-2.058 0v-.97a5.401 5.401 0 0 0-1.032 2.27 1.03 1.03 0 1 1-2.02-.395A7.462 7.462 0 0 1 2.235 4.91h-.748a1.03 1.03 0 1 1 0-2.058h3.34a1.03 1.03 0 0 1 1.03 1.03zm-3.25 9.237a1.028 1.028 0 0 1-1.358-.523 7.497 7.497 0 0 1-.37-1.036 1.03 1.03 0 1 1 1.983-.55 5.474 5.474 0 0 0 .269.751 1.029 1.029 0 0 1-.524 1.358zm2.905 2.439a1.028 1.028 0 0 1-1.42.322 7.522 7.522 0 0 1-.885-.652 1.03 1.03 0 0 1 1.34-1.563 5.435 5.435 0 0 0 .643.473 1.03 1.03 0 0 1 .322 1.42zm3.68.438a1.03 1.03 0 0 1-1.014 1.044h-.106a7.488 7.488 0 0 1-.811-.044 1.03 1.03 0 0 1 .224-2.046 5.41 5.41 0 0 0 .664.031h.014a1.03 1.03 0 0 1 1.03 1.015zm.034-12.847a1.03 1.03 0 0 1-1.029 1.01h-.033a1.03 1.03 0 0 1 .017-2.06h.017l.019.001A1.03 1.03 0 0 1 9.226 3.15zm3.236 11.25a1.029 1.029 0 0 1-.3 1.425 7.477 7.477 0 0 1-.797.453 1.03 1.03 0 1 1-.905-1.849 5.479 5.479 0 0 0 .578-.328 1.03 1.03 0 0 1 1.424.3zM10.475 3.504a1.029 1.029 0 0 1 1.41-.359l.018.011a1.03 1.03 0 1 1-1.06 1.764l-.01-.006a1.029 1.029 0 0 1-.358-1.41zm4.26 9.445c-.096.19-.203.379-.315.56a1.03 1.03 0 1 1-1.749-1.086c.082-.13.158-.267.228-.405a1.03 1.03 0 1 1 1.836.93zm-1.959-6.052a1.03 1.03 0 0 1 1.79-1.016l.008.013a1.03 1.03 0 1 1-1.79 1.017zm2.764 2.487a9.327 9.327 0 0 1 0 .366 1.03 1.03 0 0 1-1.029 1.005h-.025A1.03 1.03 0 0 1 13.482 9.7a4.625 4.625 0 0 0 0-.266 1.03 1.03 0 0 1 1.003-1.055h.026a1.03 1.03 0 0 1 1.029 1.004z"/></svg>
Specs
Depending on the context, the animated icon follows the standards of the component that contains it, for example, the icon follows the size and padding standards for buttons when placed inside a button to indicate loading or follows standards of a form-level alert within a notification.
Icons with text
To help overcome the ambiguity that almost all icons face, a text label must be present alongside an icon to clarify its contextual meaning.
Auto loans
Bank accounts
Credit cards
Submit a complaint
Student loans
Auto loans
Bank accounts
Credit cards
Submit a complaint
Student loans
Guidelines
Icon artboard
Because our icons typically appear beside text we designed our icon artboards (in Illustrator) to match the vertical footprint of Avenir Next. Avenir Next text set to a font size of 16px has a rendered height of 19px. To account for the additional white space, we set the icon artboards to 19px (h).
Relative sizing
When typing or placing an icon next to Avenir Next in print or web, all icons should have a similar size. Refer to our guidelines on how type should scale relative to neighboring text.
When designing these icons, we used two sizing grids: a smaller one that fits within the standard circle, and a larger one for non-circle icons. This allows icons to have a similar visual prominence, whether inside or outside of the circle.
Alignment
The overall position of a circle icon is centered on the cap height of Avenir Next. Within the circle, the icon is centered optically.
The alignment of non-circle icons depends on the icon height in relation to the footprint of Avenir Next. For more horizontal icons, vertically centering the icon on the cap height of Avenir Next often leaves it floating. To solve this, we start the grid on the baseline for more horizontal icons. For more vertical icons that exceed the cap height of Avenir Next, we center the icon on the cap height.
Color
The color of an icon should match the color of neighboring text. This setting is built into our code and happens automatically, provided that the icon is within the same parent element as the text. If the icon sits outside of the text’s parent element the color must be applied manually but should still match the color of the text.
Code examples:
- Heading color automatically applied to the icon:
<h2>{icon} Heading text</h2>
- Heading color must be manually applied to the icon:
<div>{icon}<h2>Heading text</h2></div>
Scale
Icons should be scaled relative to the size of neighboring text. This setting is built into our code and happens automatically, provided that the icon is within the same parent element as the text. If the icon sits outside of the text’s parent element the scaling must be applied manually but the icon should still be scaled relative to the size of the text.
In code, the SVG height is scaled to match the rendered text height, calculated by dividing the rendered height by the assigned font size (19/16 = 1.1875em). This appears in the code as @cf-icon-height: 1.1875em.
Code examples:
- Icon is automatically scaled relative to the heading size:
<h2>{icon} Heading text</h2>
- Icon must be manually scaled relative to the heading size:
<div>{icon}<h2>Heading text</h2></div>
Behavior
SVG icon basics
The cfpb-icons component provides Scalable Vector Graphic (SVG) icons. The filenames of the SVGs included with cfpb-icons match the names in the icon library section. We encourage using your templating system to inject the SVG icon files, as opposed to copying and pasting the raw SVG.
Note: Jinja2, the templating language that consumerfinance.gov uses, has a near-identical syntax for includes, but it requires that the path be enclosed in quotation marks, like so: {% include 'icons/download.svg' %}
.
What the SCSS is doing
If you look in cfpb-icons.scss you can see that we have encoded class="cf-icon-svg"
in the root element of each of our SVG icons. As a result, the CSS rule gets applied to all of the SVGs on the page, just like any other HTML element.
We start by limiting the size of the SVG to a proportion of the text height, using the @cf-icon-height
variable’s em value. To align the canvas of the icon with the canvas of neighboring text, we set vertical-align: text-top;
. Finally, setting fill: currentColor;
tells the SVG to set its path’s fill color
to match the color value of its parent element.
Inline SVG background
In some cases we embed an SVG as a background image. To accomplish this, a custom postcss plugin is used to inject the SVG icon source file inline into the CSS background-image
property. This is exposed via a custom CSS property, --cfpb-background-icon-svg: '[name] [color]'
, where [name]
is the SVG icon canonical name, and the optional [color]
is the color of the icon in rgb(r,g,b)
format.
Interaction details
Please reference the Links page for guidance regarding icons paired with links.