Demo
Each tile below is the same component with a different domain: Every logo loads live fromimg.logo.dev, requested by domain at render time.
Build it with AI
Want this integrations grid in your app? This prompt gives your AI coding tool everything it needs to build it in your framework.
Code
This example is in React, but you can get the same result in any frontend framework: each tile is one image URL on a white well. PasteIntegrationTile.tsx, then map your catalog over it as the Usage tab shows.
Your publishable key is built for client-side code, so
you can ship it in the browser as-is.
How it works
- Every logo is one image URL.
img.logo.dev/:domainreturns the partner’s logo, andsize,retina, andformat=webphandle the rendering. See all image parameters. - Rebrands handle themselves. When a partner changes their logo, the same URL serves the new one. Adding a connector is one array entry; there is no asset to swap.
- Unknown domains still render. When Logo.dev doesn’t have a logo, it returns a generated monogram instead of a broken image, so the grid works with any catalog you give it. See fallback images.
- A white well keeps the grid uniform. Logos are designed for light backgrounds, so each sits on a small white chip and lazy-loads as it scrolls into view.
Make it your own
- Go greyscale until hover. Add
&greyscale=truefor a muted grid, or apply it conditionally so tiles gain color on hover. See all image parameters. - Turn the tiles into cards. Use the job board logos pattern when each entry needs more than a logo and a name.
- Animate the same catalog. Feed the domains to the animated logo wall for a partners section on the landing page.
Next steps
Logo API
See every image URL parameter: size, format, theme, greyscale, and fallbacks.
Job board logos
Build the card-based sibling for listing feeds.