One mark, every browser surface
The browser tab favicon, the iOS home-screen icon, and the Android PWA icons all ship as static files under public/. Today's SVG favicon uses the brand-blue (icon "dark") palette so it reads on light browser chrome. PNG fallbacks cover legacy browsers + the platforms that need raster icons.
Files shipped today
-
favicon.svg · vector
Modern browsers prefer the SVG. Currently the historical brand-blue mark - a future migration could emit this from
UnlessIcon. -
favicon-32x32.png
Classic tab favicon for browsers that don't resolve the SVG.
-
favicon-96x96.png
Bookmark / shortcut size - desktop browsers, Chrome new-tab tiles.
-
apple-touch-icon.png · 180 × 180
iOS home-screen "Add to Home" icon. Apple no longer adds the gloss / rounded corners - ship a plain square.
-
web-app-manifest-192x192.png
Android home-screen icon (maskable). Referenced by
site.webmanifest. -
web-app-manifest-512x512.png
Android splash + PWA "install" icon (maskable). Higher-resolution mate of the 192 above.
-
favicon.ico · multi-resolution
Legacy fallback. Carries 16 / 32 / 48 px inside a single .ico container.
site.webmanifest
Declares the PWA installable surface - name, theme, maskable icons.
{
"name": "Unless",
"short_name": "Unless",
"icons": [
{
"src": "/web-app-manifest-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/web-app-manifest-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
} HTML references
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="manifest" href="/site.webmanifest" /> Always the latest
Every file above is emitted from the same central recipe that drives the live Unless mark across the site - same geometry constants, same palette, same safe-zone padding for the maskable Android icons. Bumping a colour or a curve in that recipe regenerates every favicon, app icon, lockup, and consumer-facing logo in lockstep, so the family never drifts apart.