Drop-in API endpoints

Use favicon.tv anywhere

Use favicon.tv anywhere you need favicons — dashboards, newsfeeds, CRMs, and beyond.

In your frontend

<img src="https://ico.favicon.tv/favicon/google.com?sz=64" alt="Favicon" />

In your backend

curl https://ico.favicon.tv/favicon/google.com?sz=128 \
--output google.com.png

Endpoint reference

One endpoint, one parameter. Everything below was checked against the live service.

Endpoint
GET https://ico.favicon.tv/favicon/{domain}?sz={size}

The domain is a bare hostname — github.com, not https://github.com/. /fav/ and /ico/ are aliases of /favicon/.

sz
16 · 32 · 48 · 64 · 128 · 256

Pixels, square. Anything else falls back to 64, which is also the default when sz is left out. The upstream may return the same image for several sizes.

Response
200 image/png

A PNG, whatever the site published — ICO and SVG originals are converted. 404 when there is no icon for the domain: not a placeholder, so you decide what to show.

CORS
Access-Control-Allow-Origin: *

GET, HEAD and OPTIONS from any origin — fetch() and canvas work, not only <img>.

Caching
Cache-Control: max-age=86400

Served from the edge. Respect the header on your side; icons change rarely and are requested constantly.

Health
GET https://ico.favicon.tv/health → ok

For your uptime monitor. A plain 200 with the body "ok".

Need an icon for a site that is not yours, or one that does not exist yet? The generator builds the whole pack in your browser. Looking for a specific brand? Every one the service knows is on the brands page.