Ícones CSS
1.031 ícones prontos numa tag só — <i class="swi-cart"></i> — que pegam o tamanho e a cor do texto em volta.
O que é
São os desenhinhos de carrinho, telefone, WhatsApp, lixeira, estrela… que aparecem em botões, menus e listas. No SWCore eles vêm numa fonte de ícones própria: você escreve <i class="swi-nome"></i> e o ícone aparece. Como é uma fonte, o ícone se comporta como uma letra: fica do tamanho do texto e da cor do texto. Quer maior? Aumente a letra. Quer vermelho? Pinte o texto de vermelho.
Vem no pacote complementar (swcore.compl.min.css), com o arquivo da fonte junto (fonts/swicons.woff2) — nada é buscado em outro site. São três conjuntos, pelo começo do nome: swi- contorno (841, o dia a dia), swis- sólido/preenchido (35) e swil- marcas e logos (155: WhatsApp, Instagram, Google…). Não precisa de JavaScript.
Quando usar
- Dentro de botão, antes ou depois do texto: " Comprar".
- Botão só com ícone (fechar, menu, lixeira) — sempre com
aria-labeldizendo o que faz. - Contato no rodapé: telefone, e-mail, endereço, horário.
- Redes sociais:
swil-whatsapp,swil-instagram,swil-facebook… - Lista de vantagens com um ícone de "check" em cada item.
Comece aqui
-
1
Coloque o SWCore e o pacote complementar no
<head>. Os ícones estão no complementar.<link rel="stylesheet" href="https://swcore.sanweb.com.br/dist/2.1.0/swcore.min.css"> <link rel="stylesheet" href="https://swcore.sanweb.com.br/dist/2.1.0/swcore.compl.min.css"> -
2
Escreva uma tag
<i>com o nome do ícone na classe. Ache o nome na busca mais abaixo.<i class="swi-cart"></i> <i class="swil-whatsapp"></i> <i class="swis-cat"></i> -
3
Dentro de um botão ou texto, ele já pega o tamanho e a cor dali.
<button sw-btn="suc"><i class="swil-whatsapp"></i> Falar no WhatsApp</button>
Todas as variações
Cada quadro abaixo é o componente de verdade, rodando. O código embaixo é exatamente o que está no quadro: copie e cole.
1. Os três conjuntos
O começo do nome diz o conjunto. Nem todo ícone existe nos três: confira o nome na busca.
<i class="swi-home"></i> <i class="swi-heart"></i> <i class="swi-user"></i>
<i class="swis-home-alt-2"></i> <i class="swis-droplet"></i> <i class="swis-party"></i>
<i class="swil-whatsapp"></i> <i class="swil-instagram"></i> <i class="swil-google"></i>
2. Tamanho
O ícone tem o tamanho da letra. Use as classes de tamanho de texto da Tipografia no ícone ou no elemento em volta.
<i class="swi-star t-pp"></i>
<i class="swi-star t-p"></i>
<i class="swi-star t-m"></i>
<i class="swi-star t-gg"></i>
<i class="swi-star t-xg"></i>
<i class="swi-star t-xxg"></i>
3. Cor
O ícone tem a cor do texto. Use as classes de cor de texto (Cores semânticas ou Paleta estendida).
<i class="swi-heart t-xg t-pri"></i>
<i class="swi-check-circle t-xg t-suc"></i>
<i class="swi-error-circle t-xg t-err"></i>
<i class="swi-bell t-xg t-ale"></i>
<i class="swi-info-circle t-xg t-inf"></i>
<i class="swi-time t-xg t-mut"></i>
<i class="swi-gift t-xg Tfuch9"></i>
<i class="swil-instagram t-xxg TazulD"></i>
4. Com texto e em botão
Ponha o ícone antes ou depois do texto. Em botão com sw-btn o espaço entre ícone e texto já vem certo. Botão só com ícone: aria-label obrigatório.
<span class="t-txt"><i class="swi-map-pin t-pri"></i> Rua das Flores, 120</span>
<button sw-btn="pri"><i class="swi-calendar"></i> Agendar</button>
<a href="#" sw-btn="out">Ver mais <i class="swi-right-arrow-alt"></i></a>
<button sw-btn="ghost rnd" aria-label="Abrir menu"><i class="swi-menu"></i></button>
5. Amostra — loja e pagamento
Uma seleção com o nome embaixo de cada um. Todos os 1.031 estão na busca do fim da galeria.
<i class="swi-cart"></i>
<i class="swi-cart-add"></i>
<i class="swi-shopping-bag"></i>
<i class="swi-basket"></i>
<i class="swi-store"></i>
<i class="swi-package"></i>
<i class="swi-tag"></i>
<i class="swi-purchase-tag"></i>
<i class="swi-credit-card"></i>
<i class="swi-wallet"></i>
<i class="swi-money"></i>
<i class="swi-dollar"></i>
<i class="swi-receipt"></i>
<i class="swi-gift"></i>
<i class="swi-barcode"></i>
<i class="swi-qr"></i>
6. Amostra — contato e lugar
<i class="swi-phone"></i>
<i class="swi-phone-call"></i>
<i class="swi-envelope"></i>
<i class="swi-mail-send"></i>
<i class="swi-chat"></i>
<i class="swi-send"></i>
<i class="swi-map-pin"></i>
<i class="swi-map"></i>
<i class="swi-directions"></i>
<i class="swi-navigation"></i>
<i class="swi-time"></i>
<i class="swi-calendar"></i>
<i class="swi-calendar-check"></i>
<i class="swi-alarm"></i>
<i class="swi-building"></i>
<i class="swi-home"></i>
7. Amostra — redes e marcas (swil-)
<i class="swil-whatsapp"></i>
<i class="swil-instagram"></i>
<i class="swil-facebook"></i>
<i class="swil-youtube"></i>
<i class="swil-tiktok"></i>
<i class="swil-linkedin"></i>
<i class="swil-twitter"></i>
<i class="swil-telegram"></i>
<i class="swil-pinterest"></i>
<i class="swil-google"></i>
<i class="swil-spotify"></i>
<i class="swil-github"></i>
<i class="swil-apple"></i>
<i class="swil-android"></i>
<i class="swil-visa"></i>
<i class="swil-mastercard"></i>
<i class="swil-paypal"></i>
8. Amostra — botões e telas
<i class="swi-menu"></i>
<i class="swi-x"></i>
<i class="swi-search"></i>
<i class="swi-plus"></i>
<i class="swi-minus"></i>
<i class="swi-check"></i>
<i class="swi-edit"></i>
<i class="swi-pencil"></i>
<i class="swi-trash"></i>
<i class="swi-copy"></i>
<i class="swi-save"></i>
<i class="swi-download"></i>
<i class="swi-upload"></i>
<i class="swi-share-alt"></i>
<i class="swi-link"></i>
<i class="swi-refresh"></i>
<i class="swi-filter"></i>
<i class="swi-sort-alt-2"></i>
<i class="swi-cog"></i>
<i class="swi-bell"></i>
<i class="swi-lock"></i>
<i class="swi-key"></i>
<i class="swi-show"></i>
<i class="swi-hide"></i>
<i class="swi-log-in"></i>
<i class="swi-log-out"></i>
<i class="swi-printer"></i>
<i class="swi-zoom-in"></i>
<i class="swi-fullscreen"></i>
<i class="swi-grid-alt"></i>
<i class="swi-list-ul"></i>
<i class="swi-dots-vertical-rounded"></i>
9. Amostra — setas
<i class="swi-chevron-left"></i>
<i class="swi-chevron-right"></i>
<i class="swi-chevron-up"></i>
<i class="swi-chevron-down"></i>
<i class="swi-left-arrow-alt"></i>
<i class="swi-right-arrow-alt"></i>
<i class="swi-up-arrow-alt"></i>
<i class="swi-down-arrow-alt"></i>
10. Amostra — pessoas, avaliação e aviso
<i class="swi-user"></i>
<i class="swi-user-circle"></i>
<i class="swi-heart"></i>
<i class="swi-heart-circle"></i>
<i class="swi-star"></i>
<i class="swi-like"></i>
<i class="swi-smile"></i>
<i class="swi-happy"></i>
<i class="swi-sad"></i>
<i class="swi-check-circle"></i>
<i class="swi-error-circle"></i>
<i class="swi-info-circle"></i>
<i class="swi-badge-check"></i>
<i class="swi-shield"></i>
<i class="swi-trophy"></i>
<i class="swi-crown"></i>
<i class="swi-medal"></i>
<i class="swi-diamond"></i>
11. Amostra — serviços e ramos
<i class="swi-cut"></i>
<i class="swi-spray-can"></i>
<i class="swi-spa"></i>
<i class="swi-bath"></i>
<i class="swi-dumbbell"></i>
<i class="swi-restaurant"></i>
<i class="swi-coffee"></i>
<i class="swi-cake"></i>
<i class="swi-bed"></i>
<i class="swi-car"></i>
<i class="swi-bus"></i>
<i class="swi-wrench"></i>
<i class="swi-first-aid"></i>
<i class="swi-clinic"></i>
<i class="swi-health"></i>
<i class="swi-book"></i>
<i class="swi-briefcase"></i>
<i class="swi-closet"></i>
<i class="swi-camera"></i>
<i class="swi-image"></i>
<i class="swi-video"></i>
<i class="swi-music"></i>
<i class="swi-microphone"></i>
<i class="swi-leaf"></i>
12. Amostra — sólidos (swis-)
O conjunto sólido é pequeno (35). Estes são alguns.
<i class="swis-home-alt-2"></i>
<i class="swis-cat"></i>
<i class="swis-droplet"></i>
<i class="swis-party"></i>
<i class="swis-hot"></i>
<i class="swis-lemon"></i>
<i class="swis-coffee-bean"></i>
<i class="swis-bowl-hot"></i>
<i class="swis-shower"></i>
<i class="swis-tree-alt"></i>
<i class="swis-shield-plus"></i>
<i class="swis-universal-access"></i>
13. Todos os 1.031 — busque e clique para copiar
Digite em português ou inglês parte do nome (cart, user, arrow, whats…). Clique num ícone para copiar a tag pronta.
<!-- clique num ícone da lista para copiar a tag, por exemplo: -->
<i class="swi-heart"></i>
Tabela de opções
| Palavra | O que faz | Exemplo |
|---|---|---|
| Conjuntos | ||
swi-{nome} | Contorno — 841 ícones. | <i class="swi-cart"></i> |
swis-{nome} | Sólido — 35 ícones. | <i class="swis-cat"></i> |
swil-{nome} | Marcas e logos — 155 ícones. | <i class="swil-whatsapp"></i> |
| Aparência (classes de texto) | ||
t-pp … t-xxg | Tamanho (12 a 48 px). Ou font-size no seu CSS. | <i class="swi-star t-xg"></i> |
t-pri · t-suc · t-err … | Cor que muda com o tema. | <i class="swi-heart t-err"></i> |
T{cor}{tom} · T{cor}D | Cor fixa da paleta / degradê (precisa do complementar). | <i class="swi-gift Tfuch9"></i> |
| Acessibilidade | ||
aria-label (no botão) | Botão só com ícone precisa dizer o que faz. | <button aria-label="Fechar"><i class="swi-x"></i></button> |
aria-hidden="true" (no ícone) | Ícone só de enfeite ao lado de um texto: o leitor de tela pula. | <i class="swi-check" aria-hidden="true"></i> |
Receitas prontas — usos reais
Situações que aparecem em quase todo site. Copie a que servir.
- (11) 4002-8922
- contato@barbeariadocentro.com.br
- Rua das Flores, 120 — Centro
- Ter a sáb, 9h às 20h
<ul class="flx f-cl gap-p">
<li class="flx alc gap-p"><i class="swi-phone t-pri" aria-hidden="true"></i> (11) 4002-8922</li>
<li class="flx alc gap-p"><i class="swi-envelope t-pri" aria-hidden="true"></i> contato@barbeariadocentro.com.br</li>
<li class="flx alc gap-p"><i class="swi-map-pin t-pri" aria-hidden="true"></i> Rua das Flores, 120 — Centro</li>
<li class="flx alc gap-p"><i class="swi-time t-pri" aria-hidden="true"></i> Ter a sáb, 9h às 20h</li>
</ul>
<a href="https://wa.me/5511999999999" sw-btn="ghost rnd" aria-label="WhatsApp"><i class="swil-whatsapp"></i></a>
<a href="https://instagram.com/seuperfil" sw-btn="ghost rnd" aria-label="Instagram"><i class="swil-instagram"></i></a>
<a href="https://facebook.com/suapagina" sw-btn="ghost rnd" aria-label="Facebook"><i class="swil-facebook"></i></a>
<a href="https://youtube.com/@seucanal" sw-btn="ghost rnd" aria-label="YouTube"><i class="swil-youtube"></i></a>
- Site pronto em 7 dias
- Funciona no celular
- Botão do WhatsApp
<ul class="flx f-cl gap-p">
<li class="flx alc gap-p"><i class="swi-check-circle t-suc t-g" aria-hidden="true"></i> Site pronto em 7 dias</li>
<li class="flx alc gap-p"><i class="swi-check-circle t-suc t-g" aria-hidden="true"></i> Funciona no celular</li>
<li class="flx alc gap-p"><i class="swi-check-circle t-suc t-g" aria-hidden="true"></i> Botão do WhatsApp</li>
</ul>
Corte
Barba
Relax
<div class="l l-3 gap-m">
<div class="bg-sur bd r-m p-g"><i class="swi-cut t-xg t-pri" aria-hidden="true"></i><p class="t-txt">Corte</p></div>
<div class="bg-sur bd r-m p-g"><i class="swi-spray-can t-xg t-pri" aria-hidden="true"></i><p class="t-txt">Barba</p></div>
<div class="bg-sur bd r-m p-g"><i class="swi-spa t-xg t-pri" aria-hidden="true"></i><p class="t-txt">Relax</p></div>
</div>
Precisa de quê
swcore.compl.min.css— a fonte de ícones (e a pastafonts/ao lado, se hospedar os arquivos você mesmo).swcore.min.css— para as classes de tamanho e cor usadas nos exemplos.
Cuidados — erros comuns
- Nome errado não dá erro: o ícone só não aparece. Copie o nome da busca em vez de adivinhar (ex.: é
swi-cart, não existeswi-shopping-cart). - A classe do ícone tem que ser a primeira da tag ou vir depois de um espaço:
class="swi-cart t-xg"funciona;class="t-xg swi-cart"também. Só não junte sem espaço. - Botão só com ícone precisa de
aria-label; sem ele, quem usa leitor de tela ouve só "botão". - Hospedando o SWCore no seu servidor? Copie também a pasta
fonts/junto do CSS; sem ela os ícones ficam em branco. - O mesmo nome nem sempre existe nos três conjuntos:
swi-heartexiste,swis-heartnão.
O que ele não faz
- O ícone é de uma cor só (é uma letra). Ícone colorido de várias cores, só com imagem/SVG.
- O conjunto sólido (
swis-) tem só 35 ícones; a maioria dos desenhos existe apenas em contorno.

