From URL to favicon in milliseconds
When a browser loads your page, it sees this tag and makes a request to emoji.findutils.com/fire to fetch the favicon.
Our Cloudflare Worker receives the request and resolves fire to the emoji character. The resolution happens in three steps:
US resolve to flag emojisThe keyword table includes official Unicode names, common synonyms, and related terms. Searching /hot finds the fire emoji. Searching /happy finds the grinning face.
The emoji gets wrapped in a minimal SVG. The entire response is under 200 bytes:
SVG favicons are supported by all modern browsers. The <text> element renders the emoji using the system's native emoji font, so it looks the same as any other emoji on the user's device.
The response includes cache headers that prevent unnecessary re-fetches:
This means the first visitor from a region triggers one request to our worker. Everyone after that gets a cached response with zero latency.
Every favicon request increments an in-memory counter for that emoji. We also record the requesting country (from Cloudflare headers) and the referrer domain (which site is using the favicon).
Counters are flushed to Cloudflare Workers KV every hour via a cron trigger. This keeps KV writes minimal (under 5 per hour) while maintaining accurate, real-time-ish statistics.
The public analytics page shows all tracked data: top emojis, country flags, requesting countries, and referrer domains.
All of these work:
/fire - Emoji name/hot - Related keyword/🔥 - Actual emoji character (URL-encoded)/point-right - Hyphenated names/US - Country code for flagsNames and keywords are case-insensitive. Maximum URL length is 200 characters.
Get usage stats as JSON:
Returns top emojis with counts, country flag stats, referrer domains, country breakdown, and total served count.