DEV Community

Lucy Linder
Lucy Linder

Posted on • Updated on • Originally published at blog.derlin.ch

Get favicons from any domain using a hidden google API

Did you know ?

Google offers a secret URL that can automatically pull the favicon image of any domain. Cherries on the cake, we can ask for different sizes and the images returned are in PNG format (not ICO), meaning they will render correctly in all browsers using the <img> tag.

The API works using a simple GET:

https://www.google.com/s2/favicons?domain=${domain}&sz=${size}
Enter fullscreen mode Exit fullscreen mode

The query parameters are:

  • domain: mandatory, the domain you are interested in,
  • sz: optional, a size hint such as 256.

In case the right size is not found, it will return the default one, usually 16x16.


https://www.google.com/s2/favicons?domain=dev.to&sz=128
128x128

https://www.google.com/s2/favicons?domain=dev.to&sz=512 (nothing found for 512x512, so returns a 16x16 PNG)
16x16 fallback

https://www.google.com/s2/favicons?domain=stackoverflow.com&sz=128 (yep, sometimes the quality is far from optimal)
stackoverflow 128x128

Oldest comments (8)

Collapse
 
mtimofiiv profile image
fiiv

Nice writeup! Privacy-friendly search engine DuckDuckGo also has one similar to the Google one:

https://icons.duckduckgo.com/ip3/dev.to.ico
Enter fullscreen mode Exit fullscreen mode

Also there's one I made called Icon Horse that has some additional features:

https://icon.horse/icon/dev.to
Enter fullscreen mode Exit fullscreen mode
Collapse
 
derlin profile image
Lucy Linder

Wasn't aware of those ones, nice to know thanks !
I would just state that Icon Horse is not free (but still a very nice tool).

Do you know if duckduckgo supports parameters, such as the size hint for example ?

Collapse
 
mtimofiiv profile image
fiiv

To my knowledge DDG doesn’t have various customisation params available.

Icon Horse is free, but premium features cost money.

Collapse
 
tr11 profile image
Tiago Rangel

Icon horse seems quite nice! Big image, doesn't stop at redirections, very cool.

Collapse
 
abhidadhaniya23 profile image
Abhi Dadhaniya

icon.horse is the best one... Thanks for the sharing

Collapse
 
ross_bg profile image
Rosen Simov

Your Icon Horse service looks amazing! I'll give it a try real soon.

Collapse
 
derlin profile image
Lucy Linder

Here is yet another service: favicongrabber.com

The call looks like:

http://favicongrabber.com/api/grab/dev.to
Enter fullscreen mode Exit fullscreen mode

The response is a JSON with all the available icons (use ?pretty=true for nice json formatting):

{
  "domain": "dev.to",
  "icons": [
    {
      "sizes": "192x192",
      "src": "https://res.cloudinary.com/practicaldev/image/fetch/s--t7tVouP9--/c_limit,f_png,fl_progressive,q_80,w_192/https:/practicaldev-herokuapp-com.freetls.fastly.net/assets/devlogo-pwa-512.png"
    },
    ...
}
Enter fullscreen mode Exit fullscreen mode

However, I got some gateway timeouts and trying favicongrabber.com/api/grab/stacko... currently returns:

{"error":"General API error."}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
pomdtr profile image
Achille Lacoin • Edited

Thanks for mentioning this ! I created a little cli to expose this api: github.com/pomdtr/fetch-favicon