Free · any format

Any site's favicon, from a URL.

Put /favicon?url= and a domain into an img tag and get back that site's icon: the same file the site serves, in whatever format it uses. Made for link lists, dashboards and anywhere else you show other people's sites. No key, no account.

imgsrc.pub · favicon
Domain or page URL
Try

The preview is the real response from that URL, exactly what your page would load.

https://imgsrc.pub/favicon?url=github.com
github.com favicon
github.com×
200 OKthe site's own formatloading…
Use cases

Put a face on every link.

You already store the domain. One img tag per row turns it into the icon people recognise.

01

Link lists and bookmarks

Show the icon next to every outbound link on a bookmarks page, a newsletter archive or a link-in-bio list. Readers spot the source before they read the title.

02

Dashboards and admin tools

Customer tables, CRMs and uptime monitors scan faster when each row carries the company's icon. Use the domain column you already have: /favicon?url=linear.app.

03

Pasted links in chat and comments

When someone pastes a link into your app, show the site's icon beside it straight away, before you fetch a full preview or instead of one.

04

Crawlers, reports and SEO tools

List the domains a crawl found, the sites that link to you or the competitors you track, each with its icon, without collecting and storing image files yourself.

How it works

Where we look, in order.

  1. 01

    The page's link tags

    We load the page you name and read its <link> tags for icon, shortcut icon and apple-touch-icon, in the order they appear. The first one that downloads is the answer.

  2. 02

    The usual files at the root

    If the page has none that work, we try /favicon.ico, /favicon.png, /favicon.svg, /apple-touch-icon.png and /apple-touch-icon-precomposed.png on that domain.

  3. 03

    A neutral default

    If nothing turns up, you get a plain blue 64 px square with a white I, so a missing icon never shows up as a broken image in your layout.

The file comes back exactly as the site serves it: ICO, PNG, SVG, JPEG, GIF or WebP, with a Content-Type read from the bytes themselves. Icons range from 16 px to 512 px and more, so set a width and height on the img. Each result is stored the first time it's requested and sent with a one-year cache header.

<img src="https://imgsrc.pub/favicon?url=github.com"
     width="16" height="16" alt="">
Parameters

One parameter. The domain.

Pass a bare domain or a full page address. Everything else is worked out from the site itself.

ParameterValuesDefaultWhat it does
urldomain or page URLrequiredA domain like figma.com or a full page address. https:// is added when you leave the scheme out. Missing url returns a 400.
Examples

Nine domains, nine icons.

Each icon is loaded live from the URL under it, in whatever format the site uses. example.com has no favicon, so it gets the default.

figma.com favicon
figma.com
?url=figma.com
github.com favicon
github.com
?url=github.com
stripe.com favicon
stripe.com
?url=stripe.com
linear.app favicon
linear.app
?url=linear.app
youtube.com favicon
youtube.com
?url=youtube.com
spotify.com favicon
spotify.com
?url=spotify.com
duolingo.com favicon
duolingo.com
?url=duolingo.com
wikipedia.org favicon
wikipedia.org
?url=wikipedia.org
example.com favicon
example.com
?url=example.com
FAQ

Favicons, answered.

Is the favicon API free?+

Yes. There is no account and no API key, and you can call it from any site.

What size will the icon be?+

Whatever the site provides. Many serve a 16 or 32 px .ico, others a 180 px Apple touch icon or an SVG. Set width and height on the img so every row lines up, and expect tiny icons to look soft if you scale them up a lot.

What happens when a site has no favicon?+

You get the default: a blue 64 px PNG with a white I. example.com is a handy way to see it. Your page shows a tidy square instead of a broken image.

Do I pass a domain or a full URL?+

Either. figma.com is read as https://figma.com. A full address like https://github.com/vercel reads that page's link tags, which matters for sites that set different icons on different pages. The fallback files are always looked up at the root of the domain.

Can I read the icon with fetch() or draw it on a canvas?+

Use it in img tags and CSS backgrounds. The responses don't send CORS headers, so a script on another site can't read the bytes with fetch(), and a canvas you draw it onto can't be exported.

How fresh are the icons?+

An icon is stored the first time anyone asks for it and sent with a one-year cache header. If a site changes its favicon later, the stored one keeps being served.

More tools

The rest of the toolbox.

Five more free tools, and three AI tools for when a placeholder won't do.

You have the domain.
Now show the icon.

Type a domain, copy the URL, put it in an img tag.

6
Formats passed through
1 year
Cache
0
API keys