Crypto Logo API
The Crypto Logo API returns a token's logo for any symbol — Bitcoin, Ethereum, stablecoins, Layer 2s, and 20,000+ assets across 50+ chains. Wrapped tokens, rebrands, and migrations are handled automatically so your wallet, exchange, or DeFi UI never breaks.
- Tokens
- 20,000+
- Chains
- 50+
- Formats
- SVG · PNG · WebP
- Latency
- <50ms
- Free tier
- 500K requests/mo
Access 20,000+ crypto logos now
Trusted every day by tens of thousands of developers.
Why developers choose this API
Built for every crypto application
Display crypto logos in exchanges, wallets, portfolios, and DeFi platforms without managing sprite sheets. Our CDN maps every symbol to its official logo, from Bitcoin to emerging tokens. New listings sync automatically. Optimized formats serve directly to your UI in milliseconds. One simple API for complete crypto coverage.
"Cryptologos.cc was fine until we had to keep downloading and re-uploading SVGs every time a token rebranded. Switching to logo.dev turned that into a URL. We haven't touched it since."
Get started in one line
Use directly in <img> tags or anywhere HTTP requests work. No SDK or setup required.
https://img.logo.dev/crypto/{symbol}?token={your_api_key}One API, Every Token
Bitcoin, Ethereum, stablecoins, and 20,000+ tokens. Every relevant crypto asset in a single endpoint.
Always Current
New token listings added daily. Rebrands and logo updates sync automatically across your app.
Built for Production
Multiple formats, retina support, and dark mode variants. Optimized for any crypto interface.
Smart Fallbacks
Professional monograms for new tokens. Your wallet UI stays complete and professional.
Every token as a URL — plug it into your UI
Cryptologos.cc gives you downloads. Logo.dev gives you a live API that updates automatically when tokens rebrand, migrate, or get wrapped.
<!-- Bitcoin logo, transparent PNG at 2x for retina -->
<img
src="https://img.logo.dev/crypto/BTC?token=YOUR_PUBLISHABLE_KEY&format=png&retina=true&size=64"
alt="Bitcoin (BTC) logo"
width="32"
height="32"
/>
<!-- Render a portfolio of tokens dynamically -->
const tokenLogos = holdings.map((t) =>
`https://img.logo.dev/crypto/${t.symbol}?token=${KEY}&format=webp`
);
<!-- Wrapped tokens are handled automatically (WBTC → BTC variant) -->
https://img.logo.dev/crypto/WBTC?token=YOUR_PUBLISHABLE_KEY