Skip to main content
Customer lists, CRM exports, and user input give you company names like “The Home Depot”, not clean domains. Showing their logos usually means scraping websites or hand-maintaining a name-to-domain table. The name endpoint skips both. It resolves each name to its best match and returns the logo, so a messy list renders with one image URL per row:
<img src="https://img.logo.dev/name/the%20home%20depot?token=LOGO_DEV_PUBLISHABLE_KEY" alt="The Home Depot logo" />

Demo

The names below arrive the way a CSV delivers them: multi-word, informal, and missing their domains. Each logo loads live from img.logo.dev/name/ the moment the row renders. Type your own company name in the last row to test a lookup.

Build it with AI

Want logos for a list of company names in your app? This prompt gives your AI coding tool everything it needs to build it in your framework.

Open in Cursor

Code

This example is in React, but you can get the same result in any frontend framework: the lookup is one image URL, and the only logic is encoding the name. Paste NameLogo.tsx, then render a list as the Usage tab shows.
export function logoUrlFromName(
  name: string,
  token: string,
  size = 40
) {
  return `https://img.logo.dev/name/${encodeURIComponent(name)}?token=${token}&size=${size}&retina=true&format=webp`;
}

export function NameLogo({
  name,
  token,
  size = 40,
}: {
  name: string;
  token: string;
  size?: number;
}) {
  return (
    <img
      alt={`${name} logo`}
      className="rounded-md object-contain"
      height={size}
      loading="lazy"
      src={logoUrlFromName(name, token, size)}
      width={size}
    />
  );
}
Your publishable key is built for client-side code, so you can ship it in the browser as-is.

How it works

  • One URL resolves a name to its logo. img.logo.dev/name/:name runs the text through the same index as the Search API and returns the top match’s logo in one request. The name lookup reference covers matching behavior.
  • A miss still renders. Names the index can’t match come back as a generated monogram, so a long list never shows a broken image. Add fallback=404 to catch misses in code instead. See fallback images.
  • The standard parameters carry over. size, retina=true, and format=webp work on name URLs the same way they work on domain URLs. See all image parameters.
  • Encoding is the component’s only logic. It URL-encodes each name so spaces, ampersands, and punctuation survive the path.

Make it your own

  • Let people pick when names are ambiguous. Name lookup commits to the top match, so use the company autocomplete pattern when a person is there to choose.
  • Handle misses yourself. Add fallback=404 and an error path like the logo from a domain component to swap monograms for your own avatar.
  • Tune the image. Add theme or greyscale from the image parameters list.

Next steps

Name lookup reference

Read the encoding rules, parameters, and matching behavior for the name endpoint.

Logo from a domain

Add dark mode handling and a custom fallback when you have clean domains.