Back to blog

Technical

Favicon Generator Guide: How to Create a Complete Favicon and PWA Asset Pack

If you have ever exported favicon files one by one and still ended up with blurry tabs or a broken manifest, this guide is for you. Here is what a proper favicon and PWA icon pack should include and how to generate it cleanly.

August 12, 20258 min read

Favicons are one of those frontend jobs that look tiny until they start going wrong.

The browser tab looks blurry. The Apple touch icon has weird spacing. The PWA install prompt picks up the wrong file. The manifest is half right, but not fully wired. None of this is hard in theory, but it is repetitive enough that it gets done badly all the time.

That is why I built the Favicon + PWA Asset Pack Generator. I wanted a practical way to upload one logo, preview the result properly, and export the full set without manually creating every file.

What a Real Favicon Pack Should Include

If you are trying to generate a favicon set for a normal modern site, you usually need more than a single favicon.ico.

A practical favicon and PWA asset pack should cover:

  • a small browser-tab icon
  • a larger browser favicon
  • an Apple touch icon
  • Android and installable web app icons
  • maskable icons for adaptive Android use
  • a site.webmanifest file
  • the HTML tags needed to wire everything into the page

That is the reason the generator produces:

  • favicon-16x16.png
  • favicon-32x32.png
  • apple-touch-icon.png
  • android-chrome-192x192.png
  • android-chrome-512x512.png
  • maskable icons
  • site.webmanifest
  • a head snippet
  • a downloadable ZIP package

You can absolutely build this by hand, but it is the kind of work that invites small mistakes.

Why a Single Logo File Is Usually the Right Starting Point

The best input for a favicon generator is usually SVG.

If the source logo is vector-based, you get cleaner exports at every size, which matters because favicon work spans very different surfaces. A tiny 16px browser icon and a much larger 512px app icon do not have the same visual needs, but they still need to come from the same brand source.

PNG is still useful if that is the only source you have, but there is less room to recover if the original is already too small or soft.

Why Favicon Work Goes Wrong So Often

The problem is usually not file conversion. It is decision fatigue.

People get stuck on questions like:

  • Which icon sizes do I actually need?
  • Should the background be transparent or solid?
  • How much padding should the logo have?
  • What goes into the manifest?
  • Do I need maskable icons?
  • Is favicon.ico still necessary?

By the time those questions show up, the task already feels more annoying than it should.

Which Favicon Sizes Matter Most

There are plenty of old icon recommendations floating around, but for most projects the important modern sizes are straightforward.

16x16 and 32x32

These cover the common small browser favicon use cases. If your logo is too detailed, this is where it starts to fall apart. Always check these first.

180x180

This is the common Apple touch icon size. If someone adds the site to an iPhone home screen, this is one of the files that matters.

192x192 and 512x512

These are the core Android and PWA icon sizes. They also belong in the manifest.

Maskable variants

Maskable icons are important if you care about how the icon behaves on Android when adaptive shapes are applied. Without them, the system may crop a regular icon in awkward ways.

What a Maskable Icon Actually Is

The short version: it is an icon designed with extra safe area around the important content.

Android may display app icons inside circles, squircles, or other adaptive shapes. If the logo is pushed too close to the edges, the system can cut off the useful part of the icon.

That is why the Favicon + PWA Asset Pack Generator lets you set regular padding and maskable safe-area padding separately. Those two use cases are related, but they are not the same.

Transparent Background or Solid Background?

This depends on the logo.

If the mark already has a strong built-in shape, transparency can work well. If the source logo is thin, detailed, or irregular, a solid background is often better because it gives the icon more presence at small sizes.

There is no universal rule, but there is one reliable principle: tiny icons need clarity more than they need visual cleverness.

Why Text Logos Usually Fail as Favicons

If the source is mostly words, it will usually be too detailed for smaller favicon sizes.

A favicon should usually be:

  • a mark
  • a monogram
  • a simplified symbol
  • or a cropped icon version of the brand

If the logo only works when the whole wordmark is visible, that is usually a sign you need a smaller icon variant for the favicon set.

What the Web Manifest Is Doing

The manifest is the glue between the icon files and the installable app behavior.

It usually includes:

  • app name
  • short name
  • description
  • theme color
  • background color
  • icon list
  • icon purposes such as maskable

If the manifest is incomplete or points to the wrong files, the icon pack is not really finished. That is why the generator outputs both the icons and the site.webmanifest content together.

What HTML Tags You Usually Need

Most sites need a small set of head tags that cover the common surfaces:

  • icon links for the browser
  • Apple touch icon
  • manifest link
  • theme color meta tag

That is another place where small manual mistakes are common. A generated snippet is helpful because it keeps the file names and the head markup aligned.

A Better Workflow for New Sites

If you are launching a site or refreshing branding, a clean favicon workflow looks like this:

  1. start with the cleanest SVG or high-resolution PNG logo you have
  2. decide whether the icon should have a solid background
  3. preview the smaller favicon sizes
  4. check the maskable version separately
  5. export the full ZIP package
  6. drop the files and the generated snippet into the project

That is much faster than exporting files individually, renaming them by hand, and then remembering later that the manifest still needs work.

Why I Added Preview States

A lot of favicon generators only export files. That is not enough.

You usually want to see:

  • how the icon reads as a tiny browser-tab mark
  • how the home-screen version feels with padding
  • whether the maskable safe area is giving enough room

That is why the tool includes browser-tab, app-icon, and maskable-style previews instead of only showing a single flat output list.

Common Favicon Mistakes to Avoid

Here are the ones I see most often:

Using the full logo without simplification

Looks fine at 512px, unreadable at 16px.

No breathing room

The icon touches the edges and feels cramped or gets cropped.

Wrong background choice

Transparent output sounds nice until the icon disappears against browser or device surfaces.

Forgetting the manifest

The icon files exist, but install behavior is incomplete or inconsistent.

No maskable icon

Everything looks okay until Android applies an adaptive shape.

When This Matters Most

The favicon job becomes more important when:

  • you are launching a product
  • you are rebuilding a brand
  • you want the site to feel polished on mobile
  • you are making a PWA installable
  • you care about the details that separate a finished product from a rough internal tool

It is not the biggest frontend task on a project, but it is one of the small things people notice when it is wrong.

Use the Generator If You Want to Skip the Repetitive Part

The Favicon + PWA Asset Pack Generator is built for the practical part of this job:

  • upload once
  • set the spacing
  • preview the outputs
  • export the files
  • copy the head snippet

That is the whole point. Not a design dashboard. Not another overbuilt setup flow. Just a faster way to get a proper favicon and PWA icon pack into a real project.

Relevant tools

Open the tool that goes with this

If you want to do the job instead of just read about it, start here.