How to use
- Drop a square image (PNG, JPG, WebP or SVG), ideally 512×512 or larger, onto the box, or choose it.
- Set the site name, used in the manifest file, and a theme color, used as the background of the Apple touch icon and the maskable Android icon, and in the manifest.
- Check the previews: the browser tab shows the 16-pixel icon as it will really look, and the home screen shows the rounded Android icon on its background color.
- Download each file, or press Download all for a ZIP. Put the files at the root of your site and add the HTML shown under the files inside your page's head.
Examples
A 1024×1024 logo, theme color #2563eb
→ favicon.ico (16, 32, 48), apple-touch-icon.png (180), icon-192.png, icon-512.png, icon-512-maskable.png, site.webmanifestSix files, ready to drop at the root of a site.
A 1200×800 photo (not square)
→ A note that it will be cropped to a centered 800×800 squareThe crop keeps the middle of the image and cuts the sides.
A logo with a transparent background
→ Transparency kept in favicon.ico and the Android icons; the Apple touch icon gets the theme color behind itiOS does not handle transparency in touch icons, so a background is added only there.
How it works
The image is read and cropped to a centered square in your browser. Each size is resampled with a Lanczos filter (through the open-source jSquash codecs), which keeps more detail than a plain resize, especially at the smaller sizes a favicon needs. The PNGs are written by the same codecs used in the image converter. favicon.ico is built by icojs (MIT), an open-source library for reading and writing ICO files, which packs the 16, 32 and 48-pixel PNGs into one file the way browsers expect.
The Apple touch icon is drawn over your theme color, because iOS fills a transparent touch icon with black rather than leaving it see-through. The maskable Android icon is your image shrunk to about 80% and centered on the theme color, which is the safe-margin approach Android’s own guidance describes, so that a round or squircle mask does not cut into the logo. The other icons and favicon.ico keep your image’s own transparency.
The manifest is a small, valid JSON file built from the site name and theme color you enter, and the HTML snippet lists every file assuming it sits at the root of your site.
Sources
- MDN: Favicon types and formats
- web.dev: Maskable icons
- MDN: Web app manifest
- icojs: reading and writing ICO files
Frequently asked questions
- Why does my image need to be square?
- Every icon size is square, so a non-square image is cropped to a centered square first. For a logo with important detail near the edges, crop or pad it to a square yourself before uploading, so you control what is kept.
- What is the maskable icon for?
- Android can show an app icon in different shapes (circle, rounded square and more), cutting into the icon from the edges. A maskable icon leaves a safe margin so the logo is never cut off; this page builds it by shrinking your image onto a background of the theme color.
- Do I need all of these files?
- favicon.ico is read by the widest range of browsers and is the one to keep for certain. The Apple and Android icons matter if people might add your site to a home screen or install it as an app; leave them out if that does not apply to you.
- Where do the files go?
- At the root of your site, for example example.com/favicon.ico, next to index.html. The HTML shown under the file list points to them at the root; move them elsewhere and update the paths.
- Is my image uploaded?
- No. Every icon is made in your browser, and the image never leaves your device.
Related tools
Version history
- 1.0.1 — Makes the search title and description state the supported task, key formats and privacy benefit more clearly.
- 1.0.0 — First release.