Demo
Click an account to open its record: Every logo loads live fromimg.logo.dev: the list rows at size=20, the record header at size=56. The open record also shows a description and brand color, the kind of data the Describe API returns.
Build it with AI
Want logo-branded account lists and records 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 logo is a plain image URL with asize parameter. AccountLogo.tsx holds the list row and the record header, and the Usage tab renders both with your publishable key.
Your publishable key is built for client-side code, so
you can ship it in the browser as-is.
How it works
- One image URL serves every size.
img.logo.dev/:domainreturns the company’s logo, and thesizeparameter scales it: 20 for table rows, 56 for the record header.retina=truekeeps both crisp. See all image parameters. - Accounts without a logo still render. When Logo.dev doesn’t have a logo for a domain, it returns a generated monogram instead of a broken image, so sparse CRM data never shows a gap. See fallback images.
- The domain is the key. Most CRMs already store a website on the account or derive one from contact emails, and that field is everything the logo needs.
- Long lists stay cheap. Rows fetch their logos only when they scroll into view, so a thousand-row account table loads like a short one.
Make it your own
- Attach companies with autocomplete. Use the company autocomplete when a rep creates an account, and store the returned domain.
- Harden the record header. Swap the plain
<img>for the logo from a domain component to handle companies without a logo. - Resolve names without domains. Use the logo from a name example for accounts that only have a company name.
Go further: enrich the account record
The same domain that loads a logo can pull a description, brand colors, and social profiles. Resolve the account once when a rep attaches it, then show that brand data on the record. You can turn a company name into full brand data with one server route. It calls the Search API to resolve the name to a domain, then the Describe API to read the description, brand colors, and social profiles. Both use your secret key and the Describe API needs a paid plan, so this code runs on your server and the browser only ever receives the finished result./api/enrich-company?q=... and builds the logo URL from the returned domain with your publishable key.
On the record, render the returned description under the header and the first saturated colors entry as a brand swatch. Describe orders colors by prominence and they often lead with black or white, so skip those and use the first saturated one (the brand colors example has the picker). Accounts with no brand data on file still show their logo and name.
Next steps
Logo API
See every size, format, and theme option for the image URL.
Company autocomplete
Capture a clean domain the moment a rep attaches a company.