# favicon.zip > Favicon generator for the modern web. Turns an SVG, short text, or an emoji > into the modern favicon set — favicon.ico (16/32/48px BMP layers), > icon.svg, favicon-96x96.png (Google Search), apple-touch-icon.png (180px, > opaque), icon-192.png, icon-512.png, > icon-mask.png (maskable, safe-zone padded), manifest.webmanifest, and a > favicon-setup.md with the install snippet — delivered as favicon.zip. The web editor runs > entirely client-side; the API and MCP server run on Cloudflare Workers. ## For agents - MCP server (Streamable HTTP, no auth): https://favicon.zip/mcp Tools: generate_favicon (SVG/emoji/text → zip download URL + HTML snippet), check_favicon (fetch a URL and grade its favicon setup), get_html_snippet (just the
markup and placement guidance). - HTTP API: POST https://favicon.zip/api/generate with a JSON body, returns application/zip. Fields: exactly one of `svg` (markup), `emoji` (single emoji), `text` (1–4 chars); optional `font` (any Google Fonts family name, e.g. "Bangers" or "Press Start 2P"; defaults to Inter), `text_color`, `background` ("none" | "#hex" | {from,to,angle}), `padding` (0–0.35), `radius` (0–1), `offset_x` / `offset_y` (-0.25–0.25, nudges the content), `dark_background` / `dark_text_color` (adaptive dark-mode icon.svg), `env_variants` (adds dev/staging/preview badged copies), `monochrome` (manifest icon with purpose "monochrome"), `dynamic_module` (favicon-dynamic.js: badge/progress/spinner, icon baked in), `framework` (html|nextjs|vite|astro|rails|wordpress — tailors the setup guide; Next.js App Router uses file conventions, not link tags), `app_name`, `short_name`, `theme_color`, and booleans `pwa`, `google_96`, `ico_48` (all default true). Example: {"emoji":"🦊","background":"#17171a","radius":0.25,"padding":0.1} - Stateless share links: GET /api/generate?spec=