vasilenko.info

Favicon generator: complete set with archive and manifest

/en/tool/favicon-generator/ works The browser cuts the icons; our server opens other sites

Provide an image, SVG, letter, or emoji — the tool will create a complete icon set, build favicon.ico from five frames, favicon.svg with light and dark variants, site.webmanifest, and a maskable icon for the Android mask. It then packs everything into one archive and writes the code for head. It also shows how the icon looks in a tab, bookmarks, Google search results, and on the home screen. The browser does all this: no file is uploaded anywhere. Only the check of another site in the final section makes an external request — and only when you click the button.

promoTwenty years of notes on websitesHow we did it in 2008 and what still works today.Open

Icon and files

A square image of at least 512 px works best: you can make a large image smaller, but not the other way around. No logo? Use a letter or emoji instead—these are separate modes.

What to use
PNG, JPEG, WebP, GIF, or SVG, up to 30 MB. SVG stays as a vector: it will be added to the set as favicon.svg, while PNG files will be rendered from it.
Drag an image here
Crop, rotate, remove the background

Drag over the image to select a square area. The icon is square anyway, so the selection is square too.

The fill starts at all four edges and moves inward, stopping where the color differs from white by more than the tolerance. It does not affect the logo in the middle.
Background and shape
The transparent background in .ico is preserved: the frames inside are regular PNGs. This same color is used for theme-color and in the manifest.
Padding on each side as a fraction of the icon's side
50% turns a square into a circle
Dark theme
The mark color changes only in letter mode: there is nothing to change for an image or emoji; the background switches instead.
Apple touch and maskable icon
iOS doesn't support transparency and uses black instead. That's why the background is set separately here, even if the main background is transparent.

Android clips the icon with its own mask—a circle, squircle, or rounded square, depending on the firmware. A maskable icon is drawn with 20% padding and a solid background so the artwork isn't clipped by any mask. See the previews section for what it looks like.

Site manifest
Displayed below the icon on the home screen when the site is added as an app.
Fits completely below the icon: up to twelve characters.
It fills the screen for the split second while the app opens.
How to open

Ready files

Files will appear here.

Smaller side of the source image

px

Source image size
Files in the set
favicon.ico file size
Saved by compression
Archive size

Each tile links to a separate file, but it’s easier to download the whole set using the “Download all as archive” button. The browser does the slicing; no file is uploaded anywhere. You can see this in the developer tools: after the page loads, there are no more requests.

How it will look

The frames are drawn at natural size using the same colors as real browsers and phones. The 16 × 16 tile in the grid above shows the file; here you can see what its surroundings do to it.

Choose an image, letter, or emoji—the frames will be drawn here.

Tab, light theme

Tab, dark theme

Bookmarks bar

Google results page

iOS home screen

Rounding of 22.37% of the side—the exact shape iOS uses to crop apple-touch-icon. You don’t need to set your own rounding: the system will apply its own on top.

Android home screen

This shows a circular mask—the tightest common one. What remains under the other masks is shown below.

Maskable icon and safe zone

The central 66% is outlined with a dashed line—the area no mask will crop. Anything beyond it may disappear on some firmware versions.

Code for head

The lines are generated from what was actually sliced: disable the dark variant, and there will be no line for it. Files are placed in the site root; if you put them in another folder, update the paths.

head.html in the page’s <head>
site.webmanifest in the site root, next to favicon.ico

The manifest is already in the archive with the icons, so you don’t need to download it separately. Without the line rel="manifest" in head, the 192 and 512 icons are not linked to anything and simply sit unused in the root.

Check another site’s icons

Analyzes head pages: which icons are declared as links, whether each one responds, what size it actually returns, whether the manifest can be read, and whether theme-color is set. Useful before changing anything: half of all sites still use a single favicon.ico from the 2000s.

Our server follows redirects, reads the head of the final page, visits each declared link, and reads the manifest. The browser measures the actual frame dimensions: it loads the external image directly, so its natural dimensions are accurate.

Nothing checked

Enter a URL and click “Check.”

Only the exact URL you provided is analyzed—usually the homepage; icons may be declared differently on other pages. A file located in the root directory but not declared with a link won't appear in the list. The exception is — /favicon.ico and /apple-touch-icon.png, they are requested even without head, so they are always checked.

promoCalculate ROI at the same timeCampaign payback based on spend and revenue.Open

How to use it

  1. Choose what to create it from: an image or SVG, a letter, or an emoji. For an image, a square of at least 512 px is best—you can make a small image from a large one, but not the other way around.

  2. If the image was photographed or scanned, crop the excess with a selection, rotate it, and remove the white background—all in the “Crop, rotate, clean background” panel. The artwork will then fill the frame instead of sinking into empty space.

  3. Look at the 16 × 16 frame and the tab preview. If the image is already hard to make out, simplify it: at this size, use a single letter or silhouette, not the entire logo.

  4. Set the background. Transparent works when the icon needs to appear on both light and dark bars; use a color when the artwork itself is light. The background behind apple-touch-icon is set in a separate field because iOS does not support transparency.

  5. Enter the site name in the manifest panel and check the Android preview: under a circular mask, an icon without padding will have its corners cut off. The maskable version fixes this.

  6. Click “Download everything as an archive,” unpack it into the site root, and paste the code from the “Code for the head” panel. Choose the tab for your system.

  7. A day after publishing, check the last section again: it will read your site’s head and tell you what is declared, which declared resources respond, and what sizes are served—not what you intended to put there.

promoBrowser task listNo account required—everything is stored on your device.Open

The formula and what it includes

Artwork side = icon size × (1 − 2 × padding)

The .ico file is assembled manually: a header, a table with five entries, and five PNG frames—16, 24, 32, 48, and 64. This type of .ico works in all browsers that support PNG inside ico, and preserves transparency. The archive is assembled the same way using the “store” method because the PNG files are already compressed, and a second pass would save only fractions of a percent.

Example breakdown: 512 × 512 source with 10% padding

The input data is the same as the default field values: you can calculate it mentally and confirm that the tool is telling the truth.

  1. The padding takes 10% from each side: 32 × 0.1 = 3.2 px on the left and the same on the right.

  2. That leaves 32 − 3.2 − 3.2 = 25.6 px for the artwork.

  3. This is the formula: 32 × (1 − 2 × 0.1) = 32 × 0.8 = 25.6.

  4. A maskable icon always has 20% padding: 512 × 0.6 = 307 px for the artwork, with 102 px of clearance on each side—exactly as much as the mask can crop.

The artwork will fit in a centered 25.6 × 25.6 px square within the 32 × 32 frame. The source is reduced exactly twentyfold: 512 ÷ 25.6 = 20.

Frequently asked questions

promoAll toolsForty-four tools, all running in your browser.Open

Related tools

5

WCAG contrast checker

Calculates the contrast of a color pair and shows whether it passes AA and AAA.

Open