Buscador de Ícones
Busca ícones SVG da biblioteca Lucide (1300+ ícones) por nome. Copia o SVG ou o nome do componente.
Sobre a biblioteca Lucide
O Lucide é uma biblioteca open-source com mais de 1300 ícones SVG, nascida como fork do Feather Icons e distribuída sob licença ISC. Cada ícone vem traçado com precisão e já otimizado.
Os ícones desta página carregam sob demanda. No botão de copiar você pega o markup SVG ou só o nome, que dá para usar no React via lucide-react.
Se for levar para o seu projeto, vale instalar pelo npm com npm i lucide.
Lucide: a evolução do Feather Icons
Lucide é um fork comunitário do Feather Icons, o conjunto que Cole Bemis criou em 2013. Quando o Feather parou de receber atualizações por volta de 2020, um grupo de contribuidores assumiu o trabalho, rebatizou o projeto como Lucide e manteve a estética original, levando o catálogo de cerca de 280 ícones para mais de 1.700 hoje. A busca desta página roda em cima do pacote oficial lucide-static, então o que você copia aqui bate com o que está no projeto upstream.
Todo ícone Lucide obedece às mesmas regras: canvas de 24x24 pixels, traço de 2px, cantos e junções arredondados, e currentColor como valor do traço. É justamente essa disciplina compartilhada que faz a diferença. Coloque qualquer ícone no seu layout e ele carrega o mesmo peso de linha, o mesmo equilíbrio óptico e a mesma personalidade do resto do conjunto, sem destoar. O projeto sai sob a licença ISC, permissiva e gratuita para uso pessoal e comercial, e vem com bindings para React, Vue, Svelte, Solid, Preact, Angular, Astro, React Native, Flutter e Web Components puros.
Por que SVG, e não fontes de ícones ou PNGs
SVG (Scalable Vector Graphics) é um formato vetorial baseado em XML e padronizado pelo W3C. PNG e JPG guardam pixels; o SVG guarda instruções geométricas, e por isso continua nítido em qualquer resolução, seja num favicon de 16px ou numa impressão em outdoor. Posto lado a lado com fontes de ícones (Font Awesome 4, Glyphicons e afins), o SVG leva vantagem em vários pontos:
- Multi-cor e gradientes reais com
fill,strokeinline ou variáveis CSS. - Acessibilidade: um SVG aceita
role,aria-labele um elemento filho<title>. Fontes de ícones se apoiam em pseudo-elementos que leitores de tela às vezes pulam. - Sem FOIT/FOUT: o ícone pinta junto com o HTML; não há arquivo de fonte para esperar.
- Animação via CSS: anime
stroke-dasharray,transforme o que mais precisar. - Payloads menores: um ícone Lucide fica em torno de 300-500 bytes não comprimidos, bem abaixo de qualquer subset de fonte.
Como integrar o Lucide no seu projeto
1. Copiar e colar o SVG bruto
O jeito mais rápido: ache o ícone acima, clique para copiar e jogue o markup direto no seu HTML. Não tem bundler nem build. Como ele usa stroke="currentColor", o SVG puxa a cor da propriedade CSS color do elemento pai.
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M5 12h14"/>
<path d="m12 5 7 7-7 7"/>
</svg>
2. Pacote npm (recomendado para SPAs)
O Lucide publica um pacote por framework. Em React, cada ícone é um componente tree-shakable, então só os ícones que você importa entram no bundle.
npm install lucide-react
import { ArrowRight, Search } from 'lucide-react'
export default function CTA() {
return <button>Comprar agora <ArrowRight size={18} strokeWidth={2} /></button>
}
3. CDN drop-in (sem build)
<script src="https://unpkg.com/lucide@latest"></script>
<i data-lucide="camera"></i>
<script>lucide.createIcons();</script>
4. Web Component
Quando você quer algo independente de framework, o Lucide traz um Custom Element que entra em qualquer página HTML ou design system.
<script type="module" src="https://cdn.jsdelivr.net/npm/lucide-web@latest/+esm"></script>
<lucide-icon name="heart" color="crimson" size="32"></lucide-icon>
Comparação com outras bibliotecas
Escolher um conjunto de ícones depende quase sempre da estética e de quantos ícones você ganha. Em resumo:
- Lucide — 1.700+ ícones, um único estilo em outline,
strokeWidthajustável. Padrão sólido para dashboards modernos e UIs baseadas em shadcn/ui, a uns 0,5 KB por ícone gzipped. - Heroicons — 292 ícones curados à mão em outline (24px), solid (24px) e mini (20px). A equipe Tailwind Labs cuida deles, e o casamento com o Tailwind UI é exato.
- Phosphor — 7.700+ ícones em seis pesos (thin, light, regular, bold, fill, duotone). A maior amplitude da lista, e a escolha quando você quer duotone ou linhas finas.
- Feather — o conjunto original de 287 ícones. Trabalho bonito, mas travou em 2020; comece projetos novos no Lucide.
- Material Symbols — set oficial do Google (3.400+ ícones), baseado em fonte variável (weight, fill, grade, optical size). Encaixa direto no Material 3.
Performance: tree-shaking, lazy loading e sprite sheets
Não faz sentido carregar os 1.700 ícones quando sua página renderiza uma dúzia. Algumas abordagens mantêm o payload enxuto:
- Tree-shaking: importe os ícones um a um (
import { Search } from 'lucide-react') e deixe o bundler descartar o resto. Imports ESM são o que faz isso funcionar; barrel exports comoimport * as Iconsacabam com o tree-shaking. - SVG inline: cole o markup direto no HTML. Nenhuma requisição HTTP extra e controle total via CSS, ao custo de uns bytes a mais no documento.
- Sprite sheets SVG: junte os ícones em um arquivo só com
<symbol id="...">e puxe cada um via<use href="#...">. Cacheado uma vez e reutilizado sempre, o que compensa quando o mesmo ícone aparece dezenas de vezes. - Lazy loading: empurre para chunks assíncronos os ícones que só aparecem em rotas secundárias. Em React,
React.lazyou dynamic imports dão conta. - SVGO: rode os ícones pelo SVGO uma vez para tirar metadados, comentários e atributos não usados, o que corta 10-30% do tamanho.
Checklist de acessibilidade
- Ícones decorativos (ao lado de texto visível): adicione
aria-hidden="true"efocusable="false", já que o rótulo está no próprio texto. - Ícones com significado (botões só com ícone): dê a eles
role="img"maisaria-label="...", ou aninhe um elemento<title>. De qualquer forma o leitor de tela recebe um nome para ler. - Contraste: a WCAG 2.2 quer pelo menos 3:1 para componentes de UI não-textuais contra o fundo. Um ícone cinza claro sobre branco costuma falhar, então puxe para
#525252ou mais escuro. - Área de toque: um ícone interativo precisa de um alvo de pelo menos 24x24 pixels CSS, e no iOS a recomendação é 44x44. Envolva ícones pequenos em botões com padding.
- Não dependa só da cor: reforce ícones de status (sucesso, alerta, erro) com texto ou uma forma que se leia diferente.
Perguntas frequentes
Posso usar os ícones Lucide comercialmente?
Sim. O Lucide usa a licença ISC, que na prática se comporta como a MIT. Você pode usar comercialmente, modificar e redistribuir, desde que o aviso de licença continue nas suas distribuições de código.
Como mudo a cor de um ícone?
Os ícones Lucide carregam stroke="currentColor", então assumem a propriedade CSS color do que estiver ao redor. Ponha color: #ef4444 no botão e o ícone fica vermelho sozinho.
Posso pedir um ícone novo?
Sim. O repositório do Lucide no GitHub aceita issues e pull requests. O que você enviar tem que seguir as regras de design (grid 24x24, traço de 2px, cantos arredondados), e a documentação traz um guia de contribuição que detalha isso.
Lucide é melhor que Heroicons?
Nenhum vence de forma absoluta; eles atendem a necessidades diferentes. Heroicons (292 ícones) se sai melhor em projetos focados em Tailwind que querem acabamento acima de quantidade. Lucide (1.700+) é a escolha quando você precisa de amplitude e de ajustar o traço. A diferença de bundle size entre os dois mal aparece.
Por que meu ícone fica borrado?
Os ícones Lucide são desenhados para tamanhos múltiplos de 24px. Renderize um a 17px ou 23px e o traço pode cair em fronteiras de meio-pixel. Alinhe para 16/24/32/48, ou defina shape-rendering="geometricPrecision" para suavizar o antialiasing.
Encontre e copie ícones SVG
Garimpar o ícone certo numa biblioteca enorme e ainda copiá-lo no formato adequado costuma cortar o ritmo do trabalho. Aqui a busca varre os mais de 1300 ícones da biblioteca Lucide pelo nome e deixa o que você procura a um clique.
Achou o ícone? Copie o código SVG completo, pronto para colar no HTML, ou só o nome do componente, caso esteja usando a biblioteca num projeto React ou parecido. Os ícones do Lucide são limpos, consistentes e de código aberto, e caem bem em qualquer interface.
Tudo roda dentro do navegador. É uma mão na roda para designers e devs que querem ícones bonitos sem ficar caçando em vários sites.
Ferramentas Relacionadas
Otimizador de SVG
Reduza o tamanho de arquivos SVG removendo metadados, comentários, atributos de editores (Inkscape, Illustrator) e espaços desnecessários. Processado no navegador.
Gerador de Favicon SVG para PWA
Gera favicon SVG inline simples a partir de letra(s) ou emoji e cor de fundo. Pronto para colar no <head>.
K8s ConfigMap YAML
Gere um Kubernetes ConfigMap em YAML a partir de pares chave=valor, pronto para aplicar com kubectl. Centralize a configuração dos seus pods em segundos.