InterLAB tools · ICO · SVG · maskable · ZIP

Favicon and app icon generator

Upload a logo or build an icon from a letter and a colour — get favicon.ico, favicon.svg, PNGs in every size, apple-touch-icon, a maskable icon, a manifest and ready HTML. See right away how it looks in a browser tab, on an iPhone home screen and in an Android launcher.

Free, no sign-up

ICO · SVG · PNG · manifest

Icons are drawn in this browser, the image is never uploaded. Only settings are saved.

Source
Shape

Adds @media (prefers-color-scheme: dark) to the SVG — the tab icon follows the system theme.

An SVG with text is drawn with the visitor's fonts: on another system the letter may look slightly different. PNG and ICO are exactly as in the preview.

App and manifest

For example “/” or “/static/icons/” — used in the HTML and the manifest.

How it works

  1. Source

    A PNG/JPG/WebP image or an SVG — or the designer: 1–3 letters or emoji, font, colours, gradient, shape and margins. A non-square image can be cropped by dragging the frame or fitted with margins.

  2. 512×512 master

    The icon is drawn on a 512 px canvas; a designer icon is a rasterisation of the very SVG that becomes favicon.svg, so every size matches. Downscaling to 16–192 px goes in ×½ steps — no jaggies.

  3. Special variants

    apple-touch-icon is an opaque square without rounding (iOS rounds it itself). Maskable has a full-bleed background and a glyph shrunk into the safe zone: an Android launcher may cut the icon as a circle, squircle or rounded square.

  4. Checks

    How visible the 16×16 icon is on light and dark tabs, whether the glyph leaves the maskable safe zone, the source's size and proportions, and what was removed from the SVG.

  5. Export

    Every file one by one or as a ZIP, plus site.webmanifest and HTML for <head> with your path to the files.

File set and standards

favicon.ico

Why
Old browsers and the default /favicon.ico request; PNG 16, 32, 48 px inside

favicon.svg

Why
Modern browsers: sharp on any screen, can switch colours in dark mode

favicon-16x16.png

Why
PNG for <link rel=icon> and services that need a raster

favicon-32x32.png

Why
PNG for <link rel=icon> and services that need a raster

favicon-48x48.png

Why
PNG for <link rel=icon> and services that need a raster

favicon-96x96.png

Why
PNG for <link rel=icon> and services that need a raster

apple-touch-icon.png

Why
180×180, opaque: iOS fills transparency with black and rounds the corners itself

web-app-manifest-192x192.png

Why
192 and 512 px for Android and PWA install (purpose any)

web-app-manifest-512x512.png

Why
192 and 512 px for Android and PWA install (purpose any)

maskable-icon-512x512.png

Why
512 px, full-bleed background, glyph inside the 80% circle (purpose maskable)

site.webmanifest

Why
Web App Manifest: name, colours, icon list

favicon-head.html

Why
Ready tags for <head>
What is in the archive
head.html
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon-96x96.png" type="image/png" sizes="96x96">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#0a0a0c">
HTML for <head> (your path and colour are filled in)
  • ICO is a Microsoft format: an ICONDIR header (6 bytes: 0, type 1, image count) and a 16-byte ICONDIRENTRY per image; since Windows Vista an image may be a whole PNG — which is what we do: smaller and with real transparency.
  • PNG: 16, 32, 48, 96 px; 96 px is for shortcuts and Google search results. Apple: 180×180 per Apple's “Configuring Web Applications”.
  • Web App Manifest (W3C): 192 and 512 icons with purpose any and a separate one with purpose maskable; the safe zone is a circle with a radius of 40% of the side, anything outside may be cut by the mask.
  • Dark mode in favicon.svg is CSS @media (prefers-color-scheme: dark) inside the SVG; browsers that show SVG favicons recolour the icon to match the system theme.

Uploaded SVG safety

favicon.svg ends up on your site, so the SVG is cleaned with an allow-list: only drawing elements remain, everything else is removed together with its content. Removed: script, foreignObject, iframe, editor metadata (Inkscape, Illustrator, Sketch), DOCTYPE with entities, on* handlers, external references in href, url() and @import, and javascript: and data: URLs except embedded PNG/JPEG/GIF/WebP.

Allowed elements: svg, g, path, rect, circle, ellipse, line, polyline, polygon, text, tspan, textPath, defs, linearGradient, radialGradient, stop, clipPath, mask, pattern, symbol, use, marker, title, desc, style, image, filter, feGaussianBlur, feOffset, feBlend, feColorMatrix, feComposite, feFlood, feMerge, feMergeNode, feDropShadow, feMorphology.

Browser support

  • The tool works in current Chrome, Edge, Firefox and Safari: it needs canvas and createImageBitmap.
  • SVG favicons are shown by Chrome, Edge, Firefox and Safari 26+; older Safari uses PNG/ICO — that is why the set has both.
  • apple-touch-icon is used by iOS and iPadOS when adding to the home screen; Android and desktop Chrome take icons from the manifest.

Limitations

  • Letters in favicon.svg are drawn with the visitor's fonts: on another system the mark may look slightly different. PNG and ICO are exactly as in the preview.
  • The dark variant is generated for designer icons; in your own SVG add @media (prefers-color-scheme: dark) yourself — sanitising keeps it.
  • A raster source smaller than 512 px gives blurry 192/512 icons — the tool warns about it.
  • Animated GIF/WebP: the first frame is used.

Privacy

  • The image is not uploaded to a server: everything is drawn in this tab, and files are local blob: links.
  • Only settings are saved in localStorage: designer options, app name and colours, preview modes. An uploaded image is not restored after a reload.
  • Analytics receives only the fact of a generation or download and a category (source “image/letter”, file type).
  • The result reaches us only if you send a request yourself and keep the “Attach the result” box ticked — the form shows exactly what will be sent. Files and images are never sent with a request.

Related tools

All tools · 40
Tell us about your task — we'll review your request and get back to you

Need a website or a PWA built end to end?

InterLAB builds websites and web apps: icons, manifest, offline mode, install to the phone and careful layout. The first conversation is free.

  • The first short conversation is free — we choose the format
  • NDA — yours or ours
  • Pricing after a brief and an agreed scope

Please do not send passwords, access keys or source code through this form — we will agree a safe way to share access separately.

By clicking the button you agree to the processing of your personal data.