Skip to main content
Most logo problems are visual. The image loads with a 200 but doesn’t look right. Find your symptom below. For status codes such as 401, 403, and 429, see errors and status codes. The default format is jpg, which has no transparency. On a colored or dark surface, the logo sits on a white rectangle. Request format=png for a transparent background, and set theme to match your background:
See the Get a logo reference for format and theme. A monogram means Logo.dev has no logo for that identifier. The request did not fail. If the company should have a logo, request an update. To show your own image instead of the monogram, see fallback images. Logos render up to 800 pixels, and a larger size is reduced to 800. A size larger than the source file upscales it, and the result looks soft. Request the size you display, and add retina=true to get a 2x image for high-density screens:

Wrong logo for the company

If the company changed its logo recently, your browser can show the old one from its cache. See refreshing a changed logo. If the logo is outdated or belongs to another company, request an update.

Logo doesn’t render at all

Open the browser console. A line such as Refused to load the image ... because it violates the following Content Security Policy directive means your Content-Security-Policy blocks the image. Add img.logo.dev to your img-src directive. See CORS, canvas, and Content Security Policy. If the request returns 401, check the key and its domain restrictions. See authentication errors.

next/image errors about the hostname

next/image sends an image through the Next.js optimizer by default, and the optimizer rejects a hostname that you have not allowed. Add the unoptimized prop so the browser loads the logo from the CDN. Don’t add img.logo.dev to images.remotePatterns, because the optimizer then fetches the logo on your server. See Use Logo.dev with Next.js.