> ## Documentation Index
> Fetch the complete documentation index at: https://www.logo.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Add company logos in Google Sheets

> Display company logos in Google Sheets using the Logo.dev API. Enrich CRM data, company lists, and reports with automatic logo lookup via the IMAGE formula.

Display company logos in Google Sheets using Logo.dev's API. Automatically enrich spreadsheets with logos for CRM data, company lists, competitor analysis, and investor tracking. Works instantly with the IMAGE formula (no apps or extensions required).

<Note>
  Get your publishable key from the [Logo.dev
  dashboard](https://www.logo.dev/dashboard/api-keys) to get started.
</Note>

## Basic formula

Use Google Sheets' `IMAGE` function to display logos from company domains:

<CodeGroup>
  ```javascript Basic formula theme={null}
  =IMAGE("https://img.logo.dev/apple.com?token=LOGO_DEV_PUBLISHABLE_KEY")
  ```

  ```javascript With cell reference theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&format=png"))
  ```

  ```javascript With custom sizing theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&size=256"), 4, 64, 64)
  ```

  ```javascript ARRAYFORMULA for bulk theme={null}
  =ARRAYFORMULA(IF(A2:A="",,IMAGE("https://img.logo.dev/"&A2:A&"?token=LOGO_DEV_PUBLISHABLE_KEY&format=png&size=128")))
  ```

  ```javascript By brand name theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/name/", ENCODEURL(A2), "?token=LOGO_DEV_PUBLISHABLE_KEY"))
  ```
</CodeGroup>

Replace `LOGO_DEV_PUBLISHABLE_KEY` with your publishable key from the dashboard.

The basic formula uses a hardcoded domain. The cell reference formula pulls domains from cells dynamically. Use ARRAYFORMULA to apply logos to entire columns at once.

<Note>
  When looking up logos by brand name, use `ENCODEURL()` to properly format
  brand names with spaces or special characters. See the [name lookup
  documentation](/docs/logo-images/name) for details.
</Note>

## Replace Clearbit logo formulas

If your spreadsheet used the Clearbit Logo API (`logo.clearbit.com`), which [shut down on December 8, 2025](/docs/migrations/clearbit), swap the base URL for `img.logo.dev` and add your token:

<CodeGroup>
  ```excel Before (Clearbit) theme={null}
  =IMAGE(CONCAT("https://logo.clearbit.com/", A2))
  ```

  ```excel After (Logo.dev) theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY"))
  ```
</CodeGroup>

Use your spreadsheet's **Find & Replace** (Ctrl+H, or Cmd+Shift+H on Mac) to change `logo.clearbit.com` to `img.logo.dev` across every formula at once, then append `?token=LOGO_DEV_PUBLISHABLE_KEY`. See the full [Clearbit migration guide](/docs/migrations/clearbit) for details.

## Customize logo appearance

Customize logo appearance with URL parameters:

<CodeGroup>
  ```javascript PNG with size theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&format=png&size=256"))
  ```

  ```javascript Greyscale theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&greyscale=true"))
  ```

  ```javascript Dark mode optimized theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&theme=dark"))
  ```

  ```javascript Combined parameters theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&format=png&size=256&greyscale=true"))
  ```
</CodeGroup>

## Control image sizing in cells

Google Sheets' IMAGE function supports sizing modes:

<CodeGroup>
  ```javascript Mode 1: Resize to fit cell theme={null}
  =IMAGE("https://img.logo.dev/google.com?token=LOGO_DEV_PUBLISHABLE_KEY", 1)
  ```

  ```javascript Mode 2: Stretch to fit cell theme={null}
  =IMAGE("https://img.logo.dev/google.com?token=LOGO_DEV_PUBLISHABLE_KEY", 2)
  ```

  ```javascript Mode 3: Original size theme={null}
  =IMAGE("https://img.logo.dev/google.com?token=LOGO_DEV_PUBLISHABLE_KEY", 3)
  ```

  ```javascript Mode 4: Custom size (100x100) theme={null}
  =IMAGE("https://img.logo.dev/google.com?token=LOGO_DEV_PUBLISHABLE_KEY", 4, 100, 100)
  ```

  ```javascript High quality custom size theme={null}
  =IMAGE(CONCAT("https://img.logo.dev/", A2, "?token=LOGO_DEV_PUBLISHABLE_KEY&size=256"), 4, 64, 64)
  ```
</CodeGroup>

## Bulk logo retrieval with ARRAYFORMULA

Apply the logo formula to entire columns using ARRAYFORMULA:

```
=ARRAYFORMULA(IF(A2:A="",,IMAGE("https://img.logo.dev/"&A2:A&"?token=LOGO_DEV_PUBLISHABLE_KEY&format=png&size=128")))
```

How this formula works:

* Checks if cells in column A are empty
* If not empty, generates a logo from the domain
* Applies to all rows automatically as you add data

## FAQs

<AccordionGroup>
  <Accordion title="Does this work in Google Sheets mobile app?">
    Yes. The IMAGE function and Logo.dev API work in Google Sheets on mobile (iOS and Android). Logos will load automatically when you have an internet connection.
  </Accordion>

  {" "}

  <Accordion title="Can I use this in Google Apps Script?">
    Yes. You can fetch logos programmatically using Google Apps Script with
    UrlFetchApp to call the Logo.dev API, then insert images into your sheet.
  </Accordion>

  {" "}

  <Accordion title="How do I add logos to multiple rows at once?">
    Use ARRAYFORMULA with the IMAGE function to apply logos to entire columns. See
    the "Bulk logo retrieval" section above for the formula.
  </Accordion>

  {" "}

  <Accordion title="Will logos appear when I share the Google Sheet?">
    Yes. Anyone who opens the shared Google Sheet will see the logos, even if they
    don't have a Logo.dev account. The API key in the formula handles
    authentication.
  </Accordion>

  {" "}

  <Accordion title="Can I use this in Google Docs or Google Slides?">
    No. The IMAGE function is specific to Google Sheets. For Google Docs or
    Slides, you'll need to download logos first using the Logo.dev URL, then
    insert them manually.
  </Accordion>

  {" "}

  <Accordion title="How do I handle companies without logos?">
    Logo.dev returns generated monograms for companies without logos. To check if
    a real logo exists, use the Search API to verify coverage before
    inserting.
  </Accordion>

  {" "}

  <Accordion title="What image format should I use for Google Sheets?">
    PNG format is recommended for best quality and compatibility. Google Sheets
    handles PNG well. Use `format=png` in your Logo.dev URL.
  </Accordion>

  {" "}

  <Accordion title="Can I filter or sort rows with logo images?">
    Yes. Google Sheets treats images in cells normally, so you can filter and sort
    rows that contain logos. Use "Move and size with cells" if inserting images as
    overlays.
  </Accordion>

  {" "}

  <Accordion title="How do I look up logos if I only have company names?">
    Use Logo.dev's [Search API](/docs/brand-search/introduction) with the company
    name as a query parameter. This returns logos based on company name matching
    instead of domains.
  </Accordion>

  {" "}

  <Accordion title="Are there rate limits for Google Sheets integrations?">
    Yes. Each plan has defined usage limits. See [rate
    limits](/docs/platform/rate-limits) for details.
  </Accordion>

  {" "}

  <Accordion title="Can I use dark mode optimized logos?">
    Yes. Add `theme=dark` to your Logo.dev URL to get logos optimized for dark
    backgrounds. This is useful if your sheet has a dark theme.
  </Accordion>

  {" "}

  <Accordion title="How do I make logos clickable?">
    Google Sheets doesn't support clickable images directly. However, you can add
    a separate column with HYPERLINK formulas pointing to company websites.
  </Accordion>
</AccordionGroup>
