Favicon Generator

Generate a browser-ready SVG favicon and link tags.

  • Runs locally in your browser
  • No upload required

Try it

Favicon SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Favicon"><rect x="0" y="0" width="64" height="64" rx="14" ry="14" fill="#090d16"/><text x="32" y="33" text-anchor="middle" dominant-baseline="middle" font-family="system-ui, Segoe UI, sans-serif" font-size="34" font-weight="700" fill="#f8fafc">G</text></svg>
Data URI
data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20role%3D%22img%22%20aria-label%3D%22Favicon%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2214%22%20ry%3D%2214%22%20fill%3D%22%23090d16%22%2F%3E%3Ctext%20x%3D%2232%22%20y%3D%2233%22%20text-anchor%3D%22middle%22%20dominant-baseline%3D%22middle%22%20font-family%3D%22system-ui%2C%20Segoe%20UI%2C%20sans-serif%22%20font-size%3D%2234%22%20font-weight%3D%22700%22%20fill%3D%22%23f8fafc%22%3EG%3C%2Ftext%3E%3C%2Fsvg%3E
Link tags
<link rel="icon" type="image/svg+xml" href="/favicon.svg"> <link rel="manifest" href="/site.webmanifest">
Manifest
{ "name": "G icon", "short_name": "G", "icons": [ { "src": "/favicon.svg", "sizes": "any", "type": "image/svg+xml", "purpose": "any" } ] }
Findings
none

Supported formats

Input
text
Output
image, html, json

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Generated a well-formed SVG favicon with 0 finding(s).

How it works

  • Normalised the background and foreground colours to lower-case hex.
  • Drew the shape and the escaped monogram on a 64×64 SVG canvas.
  • Emitted the data URI, the link tags and a matching manifest.
  • The SVG favicon scales to every size without a raster asset.
  • SVG favicons are supported by current Firefox, Chrome, Edge and Safari.

Methodology

  1. Normalise the supplied colours to a canonical six-digit lower-case hex value.
  2. Draw a background shape and centered, escaped monogram text inside a 64×64 viewBox.
  3. Serialise the SVG, percent-encode a data URI, and build the link and manifest snippets.

Usage

  1. Enter one or two characters (or an emoji) for the icon.
  2. Enter the background and foreground colours as 3- or 6-digit hex (for example "#090d16").
  3. Choose a square, rounded or circle shape.
  4. Generate and copy the SVG, the data URI or the link tags.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

A rounded monogram favicon

jsonSelect to copy
{
  "monogram": "G",
  "background": "#090d16",
  "foreground": "#f8fafc",
  "shape": "rounded"
}

A circular emoji favicon

jsonSelect to copy
{
  "monogram": "⚡",
  "background": "#2563eb",
  "foreground": "#ffffff",
  "shape": "circle"
}

Limitations

Favicons and the browser

A favicon is the small icon a browser shows for a page. An SVG favicon is a single XML file that the browser can render at any size.

Link the generated file with `<link rel="icon" type="image/svg+xml" href="/favicon.svg">` in the document head.

Frequently asked questions

Which image format is generated?
A single well-formed SVG file. Current browsers accept an SVG favicon; it keeps the asset tiny and scales cleanly.
Is anything uploaded?
No. The SVG is built from your inputs with pure string operations in the browser and is never sent anywhere.

Sources

  1. W3C — Scalable Vector Graphics (SVG) 1.1 Specification — W3C
  2. MDN — rel=icon — MDN